When I use something like --- all: ... include Makefile.dep Makefile.dep: mk/config @touch Makefile.dep @$(MAKE) depend depend: $(GENERATED_C_FILES) ... --- it was working fine with make-3.76.1-5 (RedHat 5.2), but with make-3.77-5 (RedHat 5.9 SRPM compiled on RedHat 5.2) "make all" seems to ignore dependencies that end up in Makefile.dep
Have you tried moving the include Makefile.dep after the other 2 rules?
Oh, sorry, I didn't describe my Makefile accurately enough. In fact "include Makefile.dep" does go after the rules. To describe it even more accurately, in my Makefile I have include $(ROOT)/mk/rules include Makefile.dep and mk/rules has the rules for Makefile.dep and for depend.
From what I understand, make v3.77 has some brokenness issues with the wildcard function. It might not be a bad idea to return to the previous 3.76 version.
Cristian: should we revert? A broken make in the distrib would be a very bad thing.
As far as I know, this problem still exists in RH 6.1
As James Amundson <amundson> (reporter of bug #7079) suggested, I tried make 3.78.1. It does not seem to have this problem
Can you send a self contained example that demonstrates the problem? Without a concrete example, we're probably never going to be able to close this bug :-)
Created attachment 22 [details] Makefile that demonstrates the problem (run make -j).
If you run make, using the Makefile I've just attached, you'll get "This make works correctly" printed. However, if you run "make -j", then you'll get "This make works correctly" only from make-3.76.1, but not make-3.77. I haven't tested this example with make 3.78.1, but I believe it should work.
I tired make-3.78.1-1 from RawHide, it worked fine (on the test example).
Does "worked fine" mean I can close the bug or does it mean that the test case exhibits the problem?