Thank you, I didn't realize Make operated on directories like that, but now it makes sense. I've added it to my .PHONY line and it's working now.
On Fri, Oct 2, 2009 at 1:34 PM, Paul Smith <[email protected]> wrote: > On Fri, 2009-10-02 at 12:45 +0100, Peter Belm wrote: > > {projectdir}/makefile > > {projectdir}/mburn/makefile > > > > In the root makefile I have this target: > > > > mburn: > > $(MAKE) -s -C $(WORKROOT)/mburn > > > > If I run "make" in the mburn directory it tries to compile (it fails > > because it's broken), but if I make sure there's no .o files and no > > binary, then run "make mburn" in the top directory, it says "make: > > `mburn' is up to date.". Which it clearly isn't if it doesn't have the > > binary file. > > Make checks targets, which are entries in the filesystem, to see if > they're out of date. Out of date-ness is determined by comparing the > time last modified of the entry in the filesystem against any > prerequisites defined in the makefile. > > Here you have a target of "mburn". What is mburn? It's a directory. > However, a directory is STILL a filesystem element; it still has a time > last modified and make treats directories just like it would any other > file. > > And, in this case, "mburn" has no prerequisites. So, as long as it > exists make won't try to remake it. > > In this case make will NEVER try to rebuild inside the "mburn" directory > because the "mburn" directory already exists. > > Most likely what you want to do is add a .PHONY to declare that make > should assume that the "mburn" directory is NEVER up to date, and will > always try to build it: > > .PHONY: mburn > mburn: > $(MAKE) -s -C $@ > > -- > > ------------------------------------------------------------------------------- > Paul D. Smith <[email protected]> Find some GNU make tips at: > http://www.gnu.org http://make.mad-scientist.net > "Please remain calm...I may be mad, but I am a professional." --Mad > Scientist > -- Regards, Peter Belm
_______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
