On Thu, Sep 16, 2004 at 05:00:32PM +0100, David Kilroy wrote:
My new problem, still related to computed variables, eval, call and friends
is shown below. In this case the dependencies of a target do not appear to
be expanded correctly.
These things are tricky. I have been recently wrestling with very
similar issues. Here's the fix.
$$($(1)_TGT) : $$($(1)_OBJS)
I got this output.
Sources are foo.c
Objects are foo.o
Flags are bar
foo.o depends on foo.o
HTH,
Ken
I've tried various combinations of adding extra $, and using the value
function to no avail. Any help appreciated.
Thanks,
Dave.
dkilroy
$ cat Makefile
FOO_SRCS=foo.c
define TEMPLATE
$(1)_OBJS=$$($(1)_SRCS:.c=.o)
$(1)_TGT = foo
$$($(1)_TGT) : $(1)_FLAG=bar
$$($(1)_TGT) : $(value $(1)_OBJS)
endef
$(eval $(call TEMPLATE,FOO))
all: foo
foo :
@echo Sources are $(FOO_SRCS)
@echo Objects are $(FOO_OBJS)
@echo Flags are $(FOO_FLAG)
@echo foo.o depends on $^
dkilroy
$ make
Sources are foo.c
Objects are foo.o
Flags are bar
foo.o depends on
dkilroy
$
_______________________________________________
Help-make mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/help-make
_______________________________________________
Help-make mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/help-make