summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Worth <[email protected]>2012-12-07 19:18:28 -0800
committerCarl Worth <[email protected]>2013-01-11 13:54:54 -0800
commitc6c575c69abd104397946cbd8f20b3451fdeb369 (patch)
tree52b9ed6b345ffa248dc47dc1bd291df64898400d
parentb587a7595e7aae0809a8e7392e89c39df0c955b1 (diff)
driconf: Add proper dependency for compiling .mo files from .po files.
Previously this was happening unconditionally, leading to some excessive rebuilding/relinking during builds. Note that the .po files are not automatically updated due to changes to the t_options.h file. Instead, translators should continue to use "make po" manually. This is because after new strings are merged into the existing .po file, manual work is still required by translators to ensure that the translations are correct.
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/.gitignore1
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/Makefile.am40
2 files changed, 20 insertions, 21 deletions
diff --git a/src/mesa/drivers/dri/common/xmlpool/.gitignore b/src/mesa/drivers/dri/common/xmlpool/.gitignore
index d8b3246fd4d..f6ba5c84977 100644
--- a/src/mesa/drivers/dri/common/xmlpool/.gitignore
+++ b/src/mesa/drivers/dri/common/xmlpool/.gitignore
@@ -5,3 +5,4 @@ nl
sv
options.h
Makefile
+xmlpool.pot
diff --git a/src/mesa/drivers/dri/common/xmlpool/Makefile.am b/src/mesa/drivers/dri/common/xmlpool/Makefile.am
index 526ae932069..b2a423cf203 100644
--- a/src/mesa/drivers/dri/common/xmlpool/Makefile.am
+++ b/src/mesa/drivers/dri/common/xmlpool/Makefile.am
@@ -61,36 +61,34 @@ clean:
# Default target options.h
options.h: LOCALEDIR := .
-options.h: t_options.h mo
+options.h: t_options.h $(MOS)
$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/gen_xmlpool.py t_options.h $(LOCALEDIR) $(LANGS) > options.h
# Update .mo files from the corresponding .po files.
-mo:
- @for mo in $(MOS); do \
- lang=$${mo%%/*}; \
- echo "Updating $$mo from $$lang.po."; \
- mkdir -p $${mo%/*}; \
- msgfmt -o $$mo $$lang.po; \
- done
+%/LC_MESSAGES/options.mo: %.po
+ @mo="$@" \
+ lang=$${mo%%/*}; \
+ echo "Updating ($$lang) $@ from $?."; \
+ mkdir -p $$lang/LC_MESSAGES; \
+ msgfmt -o $@ $?
# Use this target to create or update .po files with new messages in
# driconf.py.
-po: $(POS)
+po: $(POT)
+ @for po in $(POS); do \
+ if [ -f $$po ]; then \
+ echo "Merging new strings from $(POT) into $@."; \
+ mv $$po $$po~; \
+ msgmerge -o $$po $$po~ $(POT); \
+ else \
+ echo "Initializing $$po from $(POT)."; \
+ msginit -i $(POT) -o $$po~ --locale=$*; \
+ sed -e 's/charset=.*\\n/charset=UTF-8\\n/' $$po~ > $$po; \
+ fi \
+ done
pot: $(POT)
# Extract message catalog from driconf.py.
$(POT): t_options.h
xgettext -L C --from-code utf-8 -o $(POT) t_options.h
-
-# Create or update a .po file for a specific language.
-%.po: $(POT)
- @if [ -f $@ ]; then \
- echo "Merging new strings from $(POT) into $@."; \
- mv $@ $@~; \
- msgmerge -o $@ $@~ $(POT); \
- else \
- echo "Initializing $@ from $(POT)."; \
- msginit -i $(POT) -o $@~ --locale=$*; \
- sed -e 's/charset=.*\\n/charset=UTF-8\\n/' $@~ > $@; \
- fi