bug-automake
[Top][All Lists]
Advanced

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

Re: A problem with "intermediate files"


From: Alexandre Duret-Lutz
Subject: Re: A problem with "intermediate files"
Date: Tue, 19 Apr 2005 00:30:44 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)

Sorry for the delay.

>>> "Stepan" == Stepan Kasal <address@hidden> writes:

[...]

 Stepan> SUFFIXES = .list

That should be needed only if your extensions do not start with
a dot.  I thought I had this documented, but I cannot find
where.

 Stepan> gnumeric_SOURCES = ... gnm-genmarshals.list ...
 Stepan> .list.c:
 Stepan> ....

 Stepan> So make is supposed to generate gnm-genmarshals.lo by
 Stepan> chaining the rules

 Stepan> .list.c:
 Stepan> .c.lo:

 Stepan> I noticed two problems:

 Stepan> 1) With GNU make, the "intermediate file", gnm-marshalers.c is deleted
 Stepan> after gnm-genmarshals.lo is created.  But when you run make for the
 Stepan> second time, probably as "make install", gnm-marshalers.c is mentioned
 Stepan> in .deps/gnm-marshalers.Plo, so it is generated again, and all targets
 Stepan> depending on it are refreshed.
 Stepan> (See http://bugzilla.gnome.org/show_bug.cgi?id=172211 , for a more
 Stepan> detailed explanation.)

 Stepan> 2) Some historic make implementations are not able to chain implicit
 Stepan> rules, so the build fails.
 Stepan> (See http://bugzilla.gnome.org/show_bug.cgi?id=172212 .)

 Stepan> An elegant solution for problem 1) is to add a dummy rule:

 Stepan> non-intermediate: gnm-genmarshals.c

 Stepan> (As soon as a file is mentioned as a prerequisite of a
 Stepan> rule, it cannot be treated as an "intermediate file".)

 Stepan> According to my experiences with the "historic
 Stepan> implementations of make", this rule also fixes problem
 Stepan> 2).  (I have only one such historic make at hand, on an
 Stepan> "OSF1 V4.0 alpha" system.)

Then, why not simply output

gnm-genmarshals.c: gnm-genmarshals.list

?

(See also tests/suffix8.test and its history.)

 Stepan> But I think Automake could handle this automatically.

Would be nice.
-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]