This isn't a bug in GNU make at all, just a question about how it interacts
with its own use of automake which is something I have little experience
of. First, a little background. I'm working in a corporate Linux
environment in which there are a few tasks that don't work well in NFS so
I've moved them to local disk, /var/tmp to be precise. Among these is the
build of GNU make itself (long story). Of course it works well and is very
fast in local disk. However, another aspect of the corporate environment is
that they run a cleanup script which removes files more than a few days old
from /tmp areas. As a result my working area in /var/tmp suffers from bit
rot when the cleaner gets ahead of me.

Occasionally I try to outsmart the cleaner by touching the local files but
this exposes a weird behavior in GNU make's makefile suite:

# make clean all (this works)
# find * -type f -exec touch {} +
# make clean all
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh
/var/tmp/XYZ/make-4.2.1/config/missing
aclocal-1.15 -I config
/var/tmp/XYZ/make-4.2.1/config/missing: line 81: aclocal-1.15: command not
found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:569: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127

It looks like the touching not only destroys incremental build capability
(expected and not an issue) but toggles the makefile into "developer mode".

I'm not looking for any changes here, just wondering whether anyone knows
which file relationships must be preserved to prevent this? I'm hoping a
few "find" predicates can resolve this.

Thanks,
David
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to