Sorry for the delay. >>> "Stepan" == Stepan Kasal <[EMAIL PROTECTED]> 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
