diff options
Diffstat (limited to 'po/Makefile')
-rw-r--r-- | po/Makefile | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/po/Makefile b/po/Makefile new file mode 100644 index 00000000..a918c983 --- /dev/null +++ b/po/Makefile @@ -0,0 +1,60 @@ +INSTALL= /usr/bin/install -c +INSTALL_PROGRAM= ${INSTALL} +INSTALL_DATA= ${INSTALL} -m 644 +INSTALLNLSDIR=/usr/share/locale + +MSGMERGE = msgmerge + +NLSPACKAGE = initscripts + +CATALOGS = $(shell ls *.po) +FMTCATALOGS = $(patsubst %.po,%.mo,$(CATALOGS)) + +POTFILES = ../rc.d/init.d/* ../rc.d/rc.* ../sysconfig/network-scripts/* + +all: $(NLSPACKAGE).pot $(FMTCATALOGS) + +$(NLSPACKAGE).pot: $(POTFILES) + ./xgettext_sh --initscripts $(POTFILES) > $(NLSPACKAGE).po + if cmp -s $(NLSPACKAGE).po $(NLSPACKAGE).pot; then \ + rm -f $(NLSPACKAGE).po; \ + else \ + mv $(NLSPACKAGE).po $(NLSPACKAGE).pot; \ + fi + + +update-po: Makefile + $(MAKE) $(NLSPACKAGE).pot + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + lang=`basename $$cat .po`; \ + if $(MSGMERGE) $$lang.po $(NLSPACKAGE).pot > $$lang.pot ; then \ + mv -f $$lang.pot $$lang.po ; \ + echo "$(MSGMERGE) of $$lang succeeded" ; \ + else \ + echo "$(MSGMERGE) of $$lang failed" ; \ + rm -f $$lang.pot ; \ + fi \ + done + +clean: + rm -f *mo $(NLSPACKAGE).pot + +distclean: clean + rm -f .depend Makefile + +depend: + +install: all + mkdir -p $(PREFIX)/$(INSTALLNLSDIR) + for n in $(CATALOGS); do \ + l=`basename $$n .po`; \ + mo=$$l.mo; \ + $(INSTALL) -m 755 -d $(PREFIX)/$(INSTALLNLSDIR)/$$l; \ + $(INSTALL) -m 755 -d $(PREFIX)/$(INSTALLNLSDIR)/$$l/LC_MESSAGES; \ + $(INSTALL) -m 644 $$mo \ + $(PREFIX)/$(INSTALLNLSDIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \ + done + +%.mo: %.po + msgfmt -o $@ $< |