Rick Flower wrote:

> ====================================================
> build_teststubs: $(TESTSTUB_SOURCES)
>         $(foreach srcfile, $(TESTSTUB_SOURCES), ln -s $(srcfile) .)
> 
> all: build_teststubs $(OBJECTS)
> ====================================================
> 
> Once I run this I get output like the following :
> 
> ln -s /export/home/mylogin/foo/bar/bah/teststubs/src/foo.cc .  ln -s
> /export/home/mylogin/foo/bar/bah/teststubs/src/bar.cc .

Foreach is just a simple string processing function.  It has no idea
that "ln -s $(srcfile) ." is actually a command, so the output of the
foreach expansion is just one long list of words.  That's not a valid
command.  You need to add a delimiter to separate each ls invocation,
e.g. "$(foreach srcfile, $(TESTSTUB_SOURCES), ln -s $(srcfile) . ;)".

Brian


_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to