1# 2# Makefile for the PO files (translation) catalog 3# 4 5PREFIX ?= /usr 6 7# What is this package? 8NLSPACKAGE = python 9POTFILE = $(NLSPACKAGE).pot 10INSTALL = /usr/bin/install -c -p 11INSTALL_DATA = $(INSTALL) -m 644 12INSTALL_DIR = /usr/bin/install -d 13 14# destination directory 15INSTALL_NLS_DIR = $(PREFIX)/share/locale 16 17# PO catalog handling 18MSGMERGE = msgmerge 19MSGMERGE_FLAGS = -q 20XGETTEXT = xgettext --default-domain=$(NLSPACKAGE) 21MSGFMT = msgfmt 22 23# All possible linguas 24PO_LINGUAS := $(sort $(patsubst %.po,%,$(wildcard *.po))) 25 26# Only the files matching what the user has set in LINGUAS 27USER_LINGUAS := $(filter $(patsubst %,%%,$(LINGUAS)),$(PO_LINGUAS)) 28 29# if no valid LINGUAS, build all languages 30USE_LINGUAS := $(if $(USER_LINGUAS),$(USER_LINGUAS),$(PO_LINGUAS)) 31 32POFILES = $(patsubst %,%.po,$(USE_LINGUAS)) 33MOFILES = $(patsubst %.po,%.mo,$(POFILES)) 34POTFILES = $(shell cat POTFILES) 35 36#default:: clean 37 38all:: $(MOFILES) 39 40$(POTFILE): $(POTFILES) 41 $(XGETTEXT) -L Python --keyword=_ --keyword=N_ $(POTFILES) 42 $(XGETTEXT) -j --keyword=_ --keyword=N_ ../sepolicy/sepolicy/sepolicy.glade 43 @if cmp -s $(NLSPACKAGE).po $(POTFILE); then \ 44 rm -f $(NLSPACKAGE).po; \ 45 else \ 46 mv -f $(NLSPACKAGE).po $(POTFILE); \ 47 fi; \ 48 49 50refresh-po: Makefile 51 for cat in $(POFILES); do \ 52 lang=`basename $$cat .po`; \ 53 if $(MSGMERGE) $(MSGMERGE_FLAGS) $$lang.po $(POTFILE) > $$lang.pot ; then \ 54 mv -f $$lang.pot $$lang.po ; \ 55 echo "$(MSGMERGE) of $$lang succeeded" ; \ 56 else \ 57 echo "$(MSGMERGE) of $$lang failed" ; \ 58 rm -f $$lang.pot ; \ 59 fi \ 60 done 61 62clean: 63 @rm -fv *mo *~ .depend 64 @rm -rf tmp 65 66install: $(MOFILES) 67 @for n in $(MOFILES); do \ 68 l=`basename $$n .mo`; \ 69 $(INSTALL_DIR) $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \ 70 $(INSTALL_DATA) --verbose $$n $(DESTDIR)$(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/selinux-$(NLSPACKAGE).mo; \ 71 done 72 73%.mo: %.po 74 $(MSGFMT) -o $@ $< 75report: 76 @for cat in $(wildcard *.po); do \ 77 echo -n "$$cat: "; \ 78 msgfmt -v --statistics -o /dev/null $$cat; \ 79 done 80 81.PHONY: missing depend 82 83relabel: 84 85test: 86