; cat Makefile foo : /tmp/bar touch foo ; mkdir /tmp/bar ; make touch foo ; make `foo' is up to date. ; touch /tmp/bar/t ; make `foo' is up to date. ; gmake touch foo
As '
make -ndd
' shows, for some reason Solaris 8's version of make decides that directories always have a timestamp of 0. It knows that they exist, because if you remove
/tmp/bar
it complains about it. This behavior is the same for both
/usr/ccs/bin/make
and
/usr/xpg4/bin/make
.
On a quick test, this bug appears to be gone in Solaris 9. There's a Solaris 8
make
patch not applied to our systems, but the README doesn't mention anything like this bug.
(Depending on a directory is the kind of thing you do if you're building something from a bunch of files dropped into a directory, and you need to do something every time a file is added or removed.)
I note in passing that
make
problems that cause things to not get rebuilt are much more annoying than
make
problems that cause things to get rebuilt all the time.