Seems to me that when I have a real target foo that is dependent on bar: foo: bar and a phony target baz later on: baz: bar foo will cause foo to start building before bar is completed. If I change the order of baz to: baz: foo bar I do not see the problem.
I think this must be a bug in make 3.82. I can make this one line change in my makefile: docs: $(DOCS) to docs: $(HEADERS) $(DOCS) This will cause some of the real targets in DOCS which are dependent on some of the real targets in HEADERS to have their recipe started before their dependents in HEADERS. This only happens when all the targets are removed: starting from a clean repo. If I remove the real target from HEADERS that is causing the trouble and rebuild docs, the build waits for the target. Note that removing the real targets in HEADERS from the phony target docs will cause the real targets in DOCS to build properly as they individually are dependent on the necessary subsets of HEADERS and other things. I have yet to see this happen on a small enough example to post (I cannot post my project). cheers -mark On Wed, May 25, 2011 at 12:37 PM, Mark Frazer <[email protected]> wrote: > Sure: > C_HDRDIR = depict_c > C_HEADER = $(C_HDRDIR)/depict.h > CHDRDIR = depictC > CHEADER = $(CHDRDIR)/Depict.h > > I am stumped at reproducing it on a small example though. I will sort > through all the cruft in my makefile and report the change that fixes the > build order. > > -mark > > On Wed, May 25, 2011 at 12:15 PM, Stephan Beal <[email protected] > > wrote: > >> On Wed, May 25, 2011 at 5:51 PM, Mark Frazer <[email protected]> wrote: >> >>> $(addsuffix /Win32C.$(OBJ),obj debug release): $(C_HEADER) $(CHEADER) >>> >>> >> Can you show us the definitions of $(C_HEADER) $(CHEADER)? >> >> -- >> ----- stephan beal >> http://wanderinghorse.net/home/stephan/ >> > > _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
