5
0
mirror of git://git.proxmox.com/git/proxmox-i18n.git synced 2024-12-22 21:33:51 +03:00
proxmox-i18n/Makefile
Thomas Lamprecht 1524e1af3d buildsys: split to one language per line and sort
makes it slightly easier to work with it, if its deemed  to bloat the
makefile to much, we could move it to its separate linguas.mk or so

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-03-27 15:35:40 +02:00

128 lines
3.2 KiB
Makefile

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 \
PVE_I18N_DEB=pve-i18n_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
PMG_I18N_DEB=pmg-i18n_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
PBS_I18N_DEB=pbs-i18n_${DEB_VERSION_UPSTREAM_REVISION}_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:
.PHONY: deb
deb: $(DEBS)
$(PMG_I18N_DEB): $(PVE_I18N_DEB)
$(PBS_I18N_DEB): $(PVE_I18N_DEB)
$(PVE_I18N_DEB): | submodule
rm -rf dest
rsync -a * dest
cd dest; dpkg-buildpackage -b -us -uc
lintian $(DEBS)
.PHONY: submodule
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}
pmg-lang-%.js: %.po
./po2js.pl -t pmg -v "${VERSION}-${PKGREL}" -o pmg-lang-$*.js $?
pve-lang-%.js: %.po
./po2js.pl -t pve -v "${VERSION}-${PKGREL}" -o pve-lang-$*.js $?
pbs-lang-%.js: %.po
./po2js.pl -t pbs -v "${VERSION}-${PKGREL}" -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;
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 proxmox-backup.pot
msgcat $^ > $@
.PHONY: distclean
distclean: clean
.PHONY: clean
clean:
find . -name '*~' -exec rm {} ';'
rm -rf dest *.po.tmp *.js.tmp *.deb *.buildinfo *.changes *.js messages.pot
.PHONY: upload-pve upload-pmg upload-pbs upload
upload-pve: ${PVE_I18N_DEB}
tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist bullseye
upload-pmg: ${PMG_I18N_DEB}
tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist bullseye
upload-pbs: ${PBS_I18N_DEB}
tar cf - $^|ssh -X repoman@repo.proxmox.com -- upload --product pbs --dist bullseye
upload: upload-pve upload-pmg upload-pbs