On Mon, 8 Mar 2010, Derek Gaston wrote:
> On Mar 8, 2010, at 3:17 PM, Roy Stogner wrote:
>> In particular, it looks like we can add:
>> .PHONY: .depend
>> to our Make.common, which then causes paranoid dependency regeneration
>> in all our examples as well as in any user app build systems that
>> mimic our example Makefiles.
> Ah good... that would actually take care of us as well... then I can remove the PHONY out of our Makefiles.
I just ran into a nasty problem with this:
Since we "include .depend" in the Makefile, and .depend is considered
a phony target, it appears that make wants to regenerate it before
*every* make command. Not just "make all", but "make echo".
contrib/bin/libmesh-config uses "make echo".
Lots of users might (in our case, do) want to use libmesh-config, even
if they don't have write access to $LIBMESH_DIR, in which case it now
breaks horribly when .depend can't be written to.
I could move targets that don't benefit from rewriting .depend to a
separate "Makefile.const" - include that in Makefile for backwards
compatibility, but use the separate file from libmesh-config. But
that feels hackish. Anyone have any better ideas?