13364c5525
The bug is due to a stupid make misfeature. The article [1] contains much more information but in a nutshell, the following code: a b: c bla is equivalent to: a: c bla b: c bla This is bad because in parallel runs (make -j typically), "bla" can be run TWICE and even worse, twice in PARALLEL. Obviously the result will be completely unexpected. This is a real bummer because on the other hand, the following code: %.c %.h: %:in bla actually expresses the fact that bla produces two files. For some reasons, pattern rules work differently from implicit rules. This commit attempts to fix the problem with lang.h by rewriting (simplified): lang.c lang.h: lang.in genlang as lang.h: lang.in genlang lang.c: lang.h This works (it correctly expresses the dependency chain and ensures genlang runs once) but as one drawback: if one manually removes lang.c, then genlang will not re-run since the second rule does nothing. This is minor drawback since no one ever removes lang.c manually and "clean" removes lang.h which triggers a rebuild. [1]: https://www.gnu.org/software/automake/manual/html_node/Multiple-Outputs.html Change-Id: Ic0bf7c7c203dc599b00fde457946d2316c70474e |
||
---|---|---|
.. | ||
afrikaans.lang | ||
arabic.lang | ||
basque.lang | ||
bulgarian.lang | ||
catala.lang | ||
chinese-simp.lang | ||
chinese-trad.lang | ||
czech.lang | ||
dansk.lang | ||
deutsch.lang | ||
eesti.lang | ||
english-us.lang | ||
english.lang | ||
espanol.lang | ||
esperanto.lang | ||
finnish.lang | ||
francais.lang | ||
galego.lang | ||
greek.lang | ||
hebrew.lang | ||
hindi.lang | ||
hrvatski.lang | ||
islenska.lang | ||
italiano.lang | ||
japanese.lang | ||
korean.lang | ||
lang.make | ||
latviesu.lang | ||
lietuviu.lang | ||
magyar.lang | ||
nederlands.lang | ||
norsk-nynorsk.lang | ||
norsk.lang | ||
polski.lang | ||
portugues-brasileiro.lang | ||
portugues.lang | ||
romaneste.lang | ||
russian.lang | ||
slovak.lang | ||
slovenscina.lang | ||
SOURCES | ||
srpski.lang | ||
svenska.lang | ||
tagalog.lang | ||
thai.lang | ||
turkce.lang | ||
ukrainian.lang | ||
wallisertitsch.lang | ||
walon.lang |