]> git.proxmox.com Git - proxmox-i18n.git/blobdiff - Makefile
bump version to 3.2.2
[proxmox-i18n.git] / Makefile
index 477c1f12e9163f6ab189646649750e46c9705a52..dd9cfe1d26a5da8ad3b098e28732e4f19a2f1aa3 100644 (file)
--- a/Makefile
+++ b/Makefile
-LINGUAS=de fr es it
-
-VERSION=1.0
-PKGREL=1
-
-PVE_I18N_DEB=pve-i18n_${VERSION}-${PKGREL}_all.deb
-PMG_I18N_DEB=pmg-i18n_${VERSION}-${PKGREL}_all.deb
-
-DEBS=${PMG_I18N_DEB} ${PVE_I18N_DEB}
-
-PMGLOCALEDIR=${DESTDIR}/usr/share/pmg-i18n
-PVELOCALEDIR=${DESTDIR}/usr/share/pve-i18n
+include /usr/share/dpkg/pkg-info.mk
+
+LINGUAS=\
+       ar \
+       ca \
+       da \
+       de \
+       es \
+       eu \
+       fa \
+       fr \
+       gl \
+       he \
+       hr \
+       hu \
+       it \
+       ja \
+       ka \
+       ko \
+       nb \
+       nl \
+       nn \
+       pl \
+       pt_BR \
+       ru \
+       sl \
+       sv \
+       tr \
+       ukr \
+       zh_CN \
+       zh_TW \
+
+BUILDDIR ?= $(DEB_SOURCE)-$(DEB_VERSION)
+
+DSC=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
+PVE_I18N_DEB=pve-i18n_$(DEB_VERSION)_all.deb
+PMG_I18N_DEB=pmg-i18n_$(DEB_VERSION)_all.deb
+PBS_I18N_DEB=pbs-i18n_$(DEB_VERSION)_all.deb
+
+DEBS=$(PMG_I18N_DEB) $(PVE_I18N_DEB) $(PBS_I18N_DEB)
+
+PMGLOCALEDIR=$(DESTDIR)/usr/share/pmg-i18n
+PVELOCALEDIR=$(DESTDIR)/usr/share/pve-i18n
+PBSLOCALEDIR=$(DESTDIR)/usr/share/pbs-i18n
 
 PMG_LANG_FILES=$(patsubst %, pmg-lang-%.js, $(LINGUAS))
 PVE_LANG_FILES=$(patsubst %, pve-lang-%.js, $(LINGUAS))
+PBS_LANG_FILES=$(patsubst %, pbs-lang-%.js, $(LINGUAS))
+
+all:
 
-all: | submodule
+$(BUILDDIR): submodule
+       rm -rf $@ $@.tmp
+       rsync -a * $@.tmp
+       mv $@.tmp $@
 
 .PHONY: deb
 deb: $(DEBS)
-$(DEBS): | submodule
-       rm -rf dest
-       mkdir dest
-       rsync -a debian dest
-       make DESTDIR=dest install 
-       cd dest; dpkg-buildpackage -b -us -uc
-       lintian ${PMG_I18N_DEB}
-       lintian ${PVE_I18N_DEB}
-
-.PHONY: submodule
-submodule:
-       test -f "proxmox-mailgateway-gui/Makefile" || git submodule update --init
+$(DEBS): build-debs
 
-.PHONY: install
-install: ${PMG_LANG_FILES} ${PVE_LANG_FILES} 
-       install -d ${PMGLOCALEDIR}
-       install -m 0644 ${PMG_LANG_FILES} ${PMGLOCALEDIR}
-       install -d ${PVELOCALEDIR}
-       install -m 0644 ${PVE_LANG_FILES} ${PVELOCALEDIR}
+build-debs: $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+       lintian $(DEBS)
+       touch "$@"
 
+sbuild: $(DSC)
+       sbuild $(DSC)
 
-pmg-lang-%.js: proxmox-widget-toolkit-%.po proxmox-mailgateway-%.po
-       ./po2js.pl -o pmg-lang-$*.js $?
+.PHONY: dsc
+dsc: $(DSC)
+$(DSC): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
+       lintian $(DSC)
 
-pve-lang-%.js: proxmox-widget-toolkit-%.po pve-manager-%.po
-       ./po2js.pl -o pve-lang-$*.js $?
+submodule:
+       test  -f pmg-gui/Makefile -a -f proxmox-backup/Makefile -a -f pve-manager/Makefile \
+           || git submodule update --init
+
+.PHONY: install
+install: $(PMG_LANG_FILES) $(PVE_LANG_FILES) $(PBS_LANG_FILES)
+       install -d $(PMGLOCALEDIR)
+       install -m 0644 $(PMG_LANG_FILES) $(PMGLOCALEDIR)
+       install -d $(PVELOCALEDIR)
+       install -m 0644 $(PVE_LANG_FILES) $(PVELOCALEDIR)
+       install -d $(PBSLOCALEDIR)
+       install -m 0644 $(PBS_LANG_FILES) $(PBSLOCALEDIR)
+# compat symlinks for kr -> ko correction.
+       ln -s pmg-lang-ko.js $(PMGLOCALEDIR)/pmg-lang-kr.js
+       ln -s pve-lang-ko.js $(PVELOCALEDIR)/pve-lang-kr.js
+       ln -s pbs-lang-ko.js $(PBSLOCALEDIR)/pbs-lang-kr.js
+
+pmg-lang-%.js: %.po
+       ./po2js.pl -t pmg -v "$(DEB_VERSION)" -o pmg-lang-$*.js $?
+
+pve-lang-%.js: %.po
+       ./po2js.pl -t pve -v "$(DEB_VERSION)" -o pve-lang-$*.js $?
+
+pbs-lang-%.js: %.po
+       ./po2js.pl -t pbs -v "$(DEB_VERSION)" -o pbs-lang-$*.js $?
+
+# parameter 1 is the name
+# parameter 2 is the directory
+define potupdate
+    ./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
+endef
+
+.PHONY: update update_pot do_update
+update_pot: submodule
+       $(call potupdate,proxmox-widget-toolkit,proxmox-widget-toolkit/)
+       $(call potupdate,pve-manager,pve-manager/www/manager6/)
+       $(call potupdate,proxmox-mailgateway,pmg-gui/js/)
+       $(call potupdate,proxmox-backup,proxmox-backup/www/)
+
+do_update:
+       $(MAKE) update_pot
+       $(MAKE) 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;
 
-.PHONY: update
 update:
-       ./jsgettext.pl -p "proxmox-widget-toolkit 1.0" -o proxmox-widget-toolkit.pot proxmox-widget-toolkit/ 
-       ./jsgettext.pl -p "proxmox-mailgateway 5.0" -o proxmox-mailgateway.pot -b proxmox-widget-toolkit.pot proxmox-mailgateway-gui/js/
-       ./jsgettext.pl -p "pve-manager 5.0" -o pve-manager.pot -b proxmox-widget-toolkit.pot pve-manager/www/manager6/
-       for j in proxmox-widget-toolkit proxmox-mailgateway pve-manager; do for i in $(LINGUAS); do echo -n "$$j-$$i: ";msgmerge -s -v $$j-$$i.po $$j.pot >$$j-$$i.po.tmp && mv $$j-$$i.po.tmp $$j-$$i.po; done; done
+       git submodule foreach 'git pull --ff-only origin master'
+       $(MAKE) do_update
+
+stats:
+       @for i in $(LINGUAS); do echo -n "$$i: "; msgfmt --statistics -o /dev/null $$i.po; done
 
-# try to generate po files when someone add a new language
-.SECONDARY: # do not delete generated intermediate file
-proxmox-widget-toolkit-%.po: proxmox-widget-toolkit.pot
-       msginit -i proxmox-widget-toolkit.pot -l $* -o proxmox-widget-toolkit-$*.po
+init-%.po: messages.pot
+       msginit -i $^ -l $^ -o $*.po --no-translator
 
-.SECONDARY: # do not delete generated intermediate file
-proxmox-mailgateway-%.po: proxmox-mailgateway.pot
-       msginit -i proxmox-mailgateway.pot -l $* -o proxmox-mailgateway-$*.po
+.INTERMEDIATE: messages.pot
+messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot proxmox-backup.pot
+       msgcat $^ > $@
 
-.SECONDARY: # do not delete generated intermediate file
-pve-manager-%.po: pve-manager.pot
-       msginit -i pve-manager.pot -l $* -o pve-manager-$*.po
+.PHONY: distclean
+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 $(DEB_SOURCE)-[0-9]*/ *.po.tmp *.js.tmp *.deb *.dsc *.tar.* *.build *.buildinfo *.changes *.js messages.pot
+
+.PHONY: upload-pve upload-pmg upload-pbs upload
+upload-%: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload-pve: $(PVE_I18N_DEB)
+       tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST)
+upload-pmg: $(PMG_I18N_DEB)
+       tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist $(UPLOAD_DIST)
+upload-pbs: $(PBS_I18N_DEB)
+       tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pbs --dist $(UPLOAD_DIST)
+
+upload: upload-pve upload-pmg upload-pbs