driconf: Add proper dependency for compiling .mo files from .po files.
authorCarl Worth <cworth@cworth.org>
Sat, 8 Dec 2012 03:18:28 +0000 (19:18 -0800)
committerCarl Worth <cworth@cworth.org>
Fri, 11 Jan 2013 21:54:54 +0000 (13:54 -0800)
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.

src/mesa/drivers/dri/common/xmlpool/.gitignore
src/mesa/drivers/dri/common/xmlpool/Makefile.am

index d8b3246fd4d8b7ace6f590a75648722c11998fd9..f6ba5c8497782b3d3545ba49883db16de541a706 100644 (file)
@@ -5,3 +5,4 @@ nl
 sv
 options.h
 Makefile
+xmlpool.pot
index 526ae932069233255cc5082b2f04bdeb37230e5f..b2a423cf2037a0ee87911cfe354a1b91d11def3e 100644 (file)
@@ -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