]> git.proxmox.com Git - proxmox-i18n.git/blobdiff - Makefile
buildsys: refactor building and language initialization
[proxmox-i18n.git] / Makefile
index 44e77056828ad1aea1278e680e1b9214e48ad25f..fc2c625c456cd206c740b944a991c1499e9a1533 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -14,24 +14,22 @@ PVELOCALEDIR=${DESTDIR}/usr/share/pve-i18n
 PMG_LANG_FILES=$(patsubst %, pmg-lang-%.js, $(LINGUAS))
 PVE_LANG_FILES=$(patsubst %, pve-lang-%.js, $(LINGUAS))
 
-all: | submodule
+all:
 
 .PHONY: deb
 deb: $(DEBS)
 $(DEBS): | submodule
        rm -rf dest
-       mkdir dest
-       rsync -a debian dest
-       make DESTDIR=dest install 
+       rsync -a * dest
        cd dest; dpkg-buildpackage -b -us -uc
-       lintian $@
+       lintian $(DEBS)
 
 .PHONY: submodule
 submodule:
        test -f "pmg-gui/Makefile" || git submodule update --init
 
 .PHONY: install
-install: ${PMG_LANG_FILES} ${PVE_LANG_FILES} 
+install: ${PMG_LANG_FILES} ${PVE_LANG_FILES}
        install -d ${PMGLOCALEDIR}
        install -m 0644 ${PMG_LANG_FILES} ${PMGLOCALEDIR}
        install -d ${PVELOCALEDIR}
@@ -50,23 +48,22 @@ define potupdate
     ./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
 endef
 
-.PHONY: update
-update:
+.PHONY: update update_pot
+update_pot: submodule
        git submodule foreach 'git pull --ff-only origin master'
        $(call potupdate,proxmox-widget-toolkit,proxmox-widget-toolkit/)
        $(call potupdate,pve-manager,pve-manager/www/manager6/)
        $(call potupdate,proxmox-mailgateway,pmg-gui/js/)
-       msgcat proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot > messages.pot.tmp
-       mv messages.pot.tmp messages.pot
+
+update: | update_pot messages.pot
        for i in $(LINGUAS); do echo -n "$$i: "; msgmerge -s -v $$i.po messages.pot >$$i.po.tmp && mv $$i.po.tmp $$i.po; done;
-       rm messages.pot
 
-# try to generate po files when someone add a new language
-.SECONDARY: # do not delete generated intermediate file
-%.po: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot
-       msgcat $+ > $*.pot
-       msginit -i $*.pot -l $* -o $*.po
-       rm $*.pot
+init-%.po: messages.pot
+       msginit -i $^ -l $^ -o $*.po --no-translator
+
+.INTERMEDIATE: messages.pot
+messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot
+       msgcat $^ > $@
 
 .PHONY: distclean
 distclean: clean
@@ -74,7 +71,7 @@ distclean: clean
 .PHONY: clean
 clean:
        find . -name '*~' -exec rm {} ';'
-       rm -rf dest *.po.tmp *.js.tmp *.deb *.buildinfo *.changes pve-lang-*.js pmg-lang-*.js
+       rm -rf dest *.po.tmp *.js.tmp *.deb *.buildinfo *.changes *.js messages.pot
 
 .PHONY: upload-pve
 upload-pve: ${PVE_I18N_DEB}