[OpenAFS-devel] make and adventures with *.a files

Chaskiel M Grundman cg2v@andrew.cmu.edu
Fri, 23 Aug 2002 10:02:53 -0400


--On Friday, August 23, 2002 10:56:53 +0200 Harald Barth <haba@pdc.kth.se> 
wrote:
> Then I discovered that FreeBSD make is looking _into_ .a files for
> dates. And the date in the .a file was 1 second older than the file
> modification date. The evil thing is that make is looking at the dates
> in the .a file to consider _if_ it should run ${INSTALL} $? $@, but it
> is looking at the modification date of the files to coinsider if $?
> should have a value. This can lead to the evil result that
> ${INSTALL} $? $@ is run without a value in $?.
I believe this to be a bug in the bsd make (and possibly also in 
ar/ranlib). I filed bin/41908 for freebsd yesterday. We'll see what comes 
of that.

> So either rewrite
> with $< (which allways should have the name of the first prerequisite
> in it) like this
Did you test this? According to this bugreport
http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/37224
$< not set for explicit rules, and we'll have a worse version of the same 
problem.