xref: /aosp_15_r20/external/selinux/python/po/Makefile (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
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