[cciug] clearmake, GNU compatibility mode, .PHONY, and CRs

From: Daniel P. Katz (dkatz@kenan.com)
Date: Mon Jan 31 2000 - 16:15:05 EST


Hi.

        I have noticed that if I use clearmake in GNU compatibility mode (i.e.,
clearmake -C gnu) on a makefile which has a .PHONY special target, then
any files created by the phony target do not generate CRs. For
instance, if I use the makefile:

foo:
        touch foo

install:
        /usr/local/bin/install -c foo /vob1

then I end up with CRs for both ./foo and /vob1/foo whereas if I add the
special target

.PHONY: install

I only get a CR for ./foo. If I augment the special target to be

.PHONY: install foo

then no CRs are written at all.

        It is not clear to me whether this behavior was intended by the
designers or not, but I tend to think it's a bug rather than a feature.
At the least, it would be nice to be able to control this behavior with
a flag, since several useful makefile generation tools (e.g., automake)
automatically write phony targets into a .PHONY special target as well
to ensure rebuilding. For now the question is: is there a better
solution than commenting out the .PHONY targets by hand? (I have a
rather large source tree with many makefiles, so this would be rather
onerous.)

Thanx.

Dan Katz
New Initiatives Group
Kenan Systems/Lucent Technologies
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



This archive was generated by hypermail 2b29 : Sun May 06 2001 - 00:22:42 EDT