[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patches] [PATCH] make texis in $(objpfx) not in srcdir



On Tue, 01 Sep 2009 19:32:13 -0500, Peter Seebach <peter.seebach@xxxxxxxxxxxxx> wrote:

This is a pretty trivial patch.

... so of course, it's wrong.

+-include $(objpfx)texis
+$(objpfx)texis: texis.awk $(chapters) $(add-chapters) $(appendices)
lesser.texi fdl.texi
$(AWK) -f $^ > $@.T
mv -f $@.T $@

This runs into what appears to be a version difference between different generations of GNU make.

In some, the initial build of this target fails, and make therefore aborts because a production rule failed. It fails because $(objpfx) hasn't been created yet.

In others, the initial build of this target fails, so make doesn't include this file. It then creates $(objpfx), and then the next subdir build creates the file.

As it happens, that's fine -- it doesn't matter whether the file existed the first time we came in. But what's not fine is that, as a result, some systems (looks like older ones) abort the first time they try to enter this subdirectory, because $(objpfx) then refers to a directory which hasn't been made yet.

So, it needs a $(make-target-directory) at the top of the production rule.

With that fixed, the problem is ACTUALLY fixed rather than coincidentally fixed if you have gnu make 3.81 or later and a forgiving environment.

-s
--
Listen, get this. Nobody, with a good compiler, needs to be justified.