The NEWS file for 3.81 states:
Up to and including this release, the '$?' variable does not contain
any prerequisite that does not exist, even though that prerequisite
might have caused the target to rebuild. Starting with the _next_
release of GNU make, '$?' will contain all prerequisites that caused
the target to be considered out of date. See this Savannah bug:
http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051
I've tried and failed to create an example that has a prerequisite that
doesn't exist, yet runs. For example, if I do:
all: siegfriednroy
@echo Newer prerequisites are $?
siegfriednroy:
Then I get 'Newer prerequisites are siegfriednroy' on both GNU Make 3.80
and 3.81. I then tried:
all: siegfriednroy
@echo Newer prerequisites are $?
.PHONY: siegfriednroy
siegfriednroy:
And get the exact same result. Naturally there is no file called
'siegfriednroy' on my system.
Can someone provide an example of $? not containing a non-existent
prerequisite? (All my testing was done on Linux) Obviously if I just do:
all: siegfriednroy
@echo Newer prerequisites are $?
then GNU Make errors out because it can't find siegfriednroy.
John.
--
John Graham-Cumming
[EMAIL PROTECTED]
Home: http://www.jgc.org/
Blog: http://www.jgc.org/blog/
POPFile: http://getpopfile.org/
GNU Make Standard Library: http://gmsl.sf.net/
GNU Make Debugger: http://gmd.sf.net/
Fast, Parallel Builds: http://www.electric-cloud.com/
Sign up for my Spam and Anti-spam Newsletter
at http://www.jgc.org/
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make