I originally had several short prerequisites on the line but discovered that it doesn't matter how you break up the characters (spaces don't seem to have any affect though).

# makefile
define foo
a:12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
@echo 'hi'
endef

$(eval $(call foo))

# eof

[greg@p3 junk]$ make
make: *** virtual memory exhausted. Stop.

If you remove one character, anywhere on the long line, the error goes away and a normal message results:

make: *** No rule to make target `1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890', needed by `a'. Stop.

(Adding a rule to make the target has no effect.)

[greg@p3 junk]$ make --version
GNU Make 3.80
[greg@p3 junk]$ uname -r
2.4.18


- Greg Keraunen



_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-make

Reply via email to