From: Yongwei W. <wuy...@gm...> - 2007-09-29 05:26:26
|
On 28/09/2007, Keith Marshall <kei...@us...> wrote: > $ uname -a > SunOS ... 5.5.1 Generic_103640-20 sun4m sparc SUNW,SPARCstation-5 > > $ cat Makefile > .PHONY: all > all: foo > > foo: > touch foo > > .PHONY: clean > clean: > rm -f foo > > $ make clean > rm -f foo > > $ make > touch foo > > $ touch clean > > $ make clean > `clean' is up to date. > > Not so clever, huh? The bottom line is, if you want to write portable > code, (and who doesn't, given the choice?), then you've got to recognise > the least common denominator of the target systems. That means that > you've got to be prepared to accommodate the case-insensitive behaviour > of some file systems, and *never* rely on case distinction alone, under > any circumstances. You cannot ever rely on .PHONY either, to pull you > out of the hole when you've stupidly ignored this, because that too is > simply not portable. Is it the GNU Make? I doubt. I never intend to make my Makefiles to work on different flavours of Make. Best regards, Yongwei -- Wu Yongwei URL: http://wyw.dcweb.cn/ |