rockbox/apps/lang
Amaury Pouly 13364c5525 Fix make race conditions reharding lang.h
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
2017-09-24 23:32:47 +02:00
..
afrikaans.lang FS#11354 - A few more islenska.lang fixes by Hinrik Örn Sigurðsson fixing a few more source and target mismatches with english.lang in the icelandic translation. Prune a lot of old unused strings that were deleted from english.lang long ago. 2010-06-05 15:41:04 +00:00
arabic.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
basque.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
bulgarian.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
catala.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
chinese-simp.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
chinese-trad.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
czech.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
dansk.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
deutsch.lang Rename "Selective Backlight" to "Backlight Exemptions" and add German translation 2017-09-20 21:17:39 +02:00
eesti.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
english-us.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
english.lang Rename "Selective Backlight" to "Backlight Exemptions" and add German translation 2017-09-20 21:17:39 +02:00
espanol.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
esperanto.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
finnish.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
francais.lang Update french translation, thanks to lebellium for spotting those. 2016-08-20 20:38:12 +01:00
galego.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
greek.lang Fix some warnings due to the previous commit 2017-09-20 21:17:07 +02:00
hebrew.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
hindi.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
hrvatski.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
islenska.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
italiano.lang Update Greek, Swedish, Italian and Serbian. 2017-09-20 20:27:00 +02:00
japanese.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
korean.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
lang.make Fix make race conditions reharding lang.h 2017-09-24 23:32:47 +02:00
latviesu.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
lietuviu.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
magyar.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
nederlands.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
norsk-nynorsk.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
norsk.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
polski.lang Translate remaining polish strings. 2016-01-16 13:20:08 +01:00
portugues-brasileiro.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
portugues.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
romaneste.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
russian.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
slovak.lang FS#13079 - Slovak lang update 2016-08-17 22:04:48 +02:00
slovenscina.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
SOURCES Make basque.lang be built. Fixes FS#12235 2011-08-19 11:52:32 +00:00
srpski.lang Update Greek, Swedish, Italian and Serbian. 2017-09-20 20:27:00 +02:00
svenska.lang Update Greek, Swedish, Italian and Serbian. 2017-09-20 20:27:00 +02:00
tagalog.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
thai.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
turkce.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
ukrainian.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
wallisertitsch.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
walon.lang YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00