Follow-up Comment #4, bug #60595 (project make):
Thanks for the description. Here's a much simpler repro case:
all: ; @echo RESTARTS=$(MAKE_RESTARTS)
m1.d: ; touch $@
m2.d: m1.d ; test -f $< || touch $@
include m2.d m1.d
If you run this makefile with:
rm -f m?.d && make
it will correctly restart make and print RESTARTS=1.
If you change the last line to reverse the order of include:
include m1.d m2.d
then it will not restart make and print RESTARTS=.
As a note when we do fix this problem the above makefile will fail on the
"include" line after the restart because the rule that says it built m2.d
actually didn't. I assume in your real makefile you've accounted for this and
something does build the target makefile (or maybe you include it with
"-include").
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60595>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/