Non-POSIX compliant pmake with secondary expansion?

Garrett Cooper yanefbsd at gmail.com
Wed Jun 30 17:01:27 UTC 2010


Hi guys,
    I currently set:

.POSIX=

    In a Makefile thinking that it would enable only POSIX
functionality, and was fidgeting around with the Makefile trying to
get it to work. In short, I used secondary expansion, it worked, then
compared the output from gmake and it failed (because they have the
.SECONDEXPANSION keyword). POSIX doesn't mention secondary expansion,
so obviously it's not a POSIX feature.
    So I was wondering if secondary expansion is enabled by default
with .POSIX instead of being disabled like it should on pmake?
Thanks,
-Garrett

$ cat test_Makefile
.POSIX=

TARGETS=

all: $$(TARGETS)

TARGETS+=	idontexist

idontexist:
	@echo $@
$ make -f test_Makefile all
idontexist
$ gmake -f test_Makefile
gmake: *** No rule to make target `$(TARGETS)', needed by `all'.  Stop.
$ uname -a
FreeBSD bayonetta.local 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r206173M:
Mon Apr 26 22:45:06 PDT 2010
root at bayonetta.local:/usr/obj/usr/src/sys/BAYONETTA.ata  amd64


More information about the freebsd-hackers mailing list