]> git.proxmox.com Git - proxmox-i18n.git/blobdiff - Makefile
d/control: define compat level via build-depends and raise to 13
[proxmox-i18n.git] / Makefile
index 4e0214fafd9b3a2bfa22ddb181ec9021996043da..b8a880b700bea6a97fb4194e91dbfb57292a3ebc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,49 +1,85 @@
-LINGUAS=de it fr ja es sv ru tr zh_CN zh_TW da ca pl sl nb nn pt_BR eu fa gl hu
-
-VERSION=1.1
-PKGREL=2
-
-PVE_I18N_DEB=pve-i18n_${VERSION}-${PKGREL}_all.deb
-PMG_I18N_DEB=pmg-i18n_${VERSION}-${PKGREL}_all.deb
-
-DEB1=${PMG_I18N_DEB}
-DEB2=$(PVE_I18N_DEB)
-DEBS=$(DEB1) $(DEB2)
+include /usr/share/dpkg/pkg-info.mk
+
+LINGUAS=\
+       ar \
+       ca \
+       da \
+       de \
+       es \
+       eu \
+       fa \
+       fr \
+       gl \
+       he \
+       hu \
+       it \
+       ja \
+       kr \
+       nb \
+       nl \
+       nn \
+       pl \
+       pt_BR \
+       ru \
+       sl \
+       sv \
+       tr \
+       zh_CN \
+       zh_TW \
+
+BUILDDIR ?= ${DEB_SOURCE}-${DEB_VERSION}
+
+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:
 
+$(BUILDDIR): submodule
+       rm -rf $@ $@.tmp
+       rsync -a * $@.tmp
+       mv $@.tmp $@
+
 .PHONY: deb
 deb: $(DEBS)
-$(DEB2): $(DEB1)
-$(DEB1): | submodule
-       rm -rf dest
-       rsync -a * dest
-       cd dest; dpkg-buildpackage -b -us -uc
+$(DEBS): build-debs
+
+build-debs: $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
        lintian $(DEBS)
+       touch "$@"
 
-.PHONY: submodule
 submodule:
-       test -f "pmg-gui/Makefile" || git submodule update --init
+       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}
+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}
 
 pmg-lang-%.js: %.po
-       ./po2js.pl -t pmg -v "${VERSION}-${PKGREL}" -o pmg-lang-$*.js $?
+       ./po2js.pl -t pmg -v "${DEB_VERSION}" -o pmg-lang-$*.js $?
 
 pve-lang-%.js: %.po
-       ./po2js.pl -t pve -v "${VERSION}-${PKGREL}" -o pve-lang-$*.js $?
+       ./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
@@ -51,21 +87,30 @@ define potupdate
     ./jsgettext.pl -p "$(1) $(shell cd $(2);git rev-parse HEAD)" -o $(1).pot $(2)
 endef
 
-.PHONY: update update_pot
+.PHONY: update update_pot do_update
 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/)
+       $(call potupdate,proxmox-backup,proxmox-backup/www/)
 
-update: | update_pot messages.pot
+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;
 
+update:
+       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
+
 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
+messages.pot: proxmox-widget-toolkit.pot proxmox-mailgateway.pot pve-manager.pot proxmox-backup.pot
        msgcat $^ > $@
 
 .PHONY: distclean
@@ -74,12 +119,15 @@ distclean: clean
 .PHONY: clean
 clean:
        find . -name '*~' -exec rm {} ';'
-       rm -rf dest *.po.tmp *.js.tmp *.deb *.buildinfo *.changes *.js messages.pot
+       rm -rf $(DEB_SOURCE)-[0-9]*/ *.po.tmp *.js.tmp *.deb *.buildinfo *.changes *.js messages.pot
 
-.PHONY: upload-pve
+.PHONY: upload-pve upload-pmg upload-pbs upload
+upload-%: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
 upload-pve: ${PVE_I18N_DEB}
-       tar cf - ${PVE_I18N_DEB}|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist stretch
-
-.PHONY: upload-pmg
+       tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST)
 upload-pmg: ${PMG_I18N_DEB}
-       tar cf - ${PMG_I18N_DEB}|ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist stretch
+       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