On Wed, 2013-05-22 at 20:13 +0200, Sascha Ziemann wrote: > Hi, > > I think the example in the documentation for the eval function is > broken. I copied the example to a file and tried it with "make clean". > The action for the clean target is "rm -f $(ALL_OBJS) $(PROGRAMS)". > The PROGRAMS variable is set at the beginning to "server client" and > the ALL_OBJS variable should be filled by the foreach call of the eval > function. Because of that I think that the intended action for the > clean target is "rm -f server.o server_priv.o server_access.o client.o > client_api.o client_mem.o server client". But when I try the example I > get the following output: > > make clean > rm -f server client > > So I think the example must be wrong, isn't it?
No. The example works. Please run "make --version". The online manual documents the currently released version of GNU make. The eval function was added in GNU make 3.80, which was released in 2002. If your version of GNU make is older than that, then $(eval ...) will not work for you. If your version is 3.80 or newer, please cut/paste (exactly) your makefile so we can see it. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make