Home | History | Annotate | Download | only in po
      1 #
      2 # Makefile for the PO files (translation) catalog
      3 #
      4 
      5 TOP	 = ../..
      6 
      7 # What is this package?
      8 NLSPACKAGE	= policycoreutils
      9 POTFILE		= $(NLSPACKAGE).pot
     10 INSTALL		= /usr/bin/install -c -p
     11 INSTALL_DATA	= $(INSTALL) -m 644
     12 INSTALL_DIR	= /usr/bin/install -d
     13 
     14 # destination directory
     15 INSTALL_NLS_DIR = $(DESTDIR)/usr/share/locale
     16 
     17 # PO catalog handling
     18 MSGMERGE	= msgmerge
     19 MSGMERGE_FLAGS	= -q
     20 XGETTEXT	= xgettext --default-domain=$(NLSPACKAGE)
     21 MSGFMT		= msgfmt
     22 
     23 # What do we need to do
     24 POFILES		= $(wildcard *.po)
     25 MOFILES		= $(patsubst %.po,%.mo,$(POFILES))
     26 POTFILES = \
     27 	../run_init/open_init_pty.c \
     28 	../run_init/run_init.c \
     29 	../semodule_link/semodule_link.c \
     30 	../audit2allow/audit2allow \
     31 	../semanage/seobject.py \
     32 	../setsebool/setsebool.c \
     33 	../newrole/newrole.c \
     34 	../load_policy/load_policy.c \
     35 	../sestatus/sestatus.c \
     36 	../semodule/semodule.c \
     37 	../setfiles/setfiles.c \
     38 	../semodule_package/semodule_package.c \
     39 	../semodule_deps/semodule_deps.c \
     40 	../semodule_expand/semodule_expand.c \
     41 	../scripts/chcat \
     42 	../scripts/fixfiles \
     43 	../restorecond/stringslist.c \
     44 	../restorecond/restorecond.h \
     45 	../restorecond/utmpwatcher.h \
     46 	../restorecond/stringslist.h \
     47 	../restorecond/restorecond.c \
     48 	../restorecond/utmpwatcher.c \
     49 	../gui/booleansPage.py \
     50 	../gui/fcontextPage.py \
     51 	../gui/loginsPage.py \
     52 	../gui/mappingsPage.py \
     53 	../gui/modulesPage.py \
     54 	../gui/polgen.glade \
     55 	../gui/polgengui.py \
     56 	../gui/portsPage.py \
     57 	../gui/semanagePage.py \
     58 	../gui/statusPage.py \
     59 	../gui/system-config-selinux.glade \
     60 	../gui/system-config-selinux.py \
     61 	../gui/usersPage.py \
     62 	../secon/secon.c \
     63 	booleans.py \
     64 	../sepolicy/info.c \
     65 	../sepolicy/search.c \
     66 	../sepolicy/sepolicy.py \
     67 	../sepolicy/sepolicy/communicate.py \
     68 	../sepolicy/sepolicy/__init__.py \
     69 	../sepolicy/sepolicy/network.py \
     70 	../sepolicy/sepolicy/generate.py \
     71 	../sepolicy/sepolicy/sepolicy.glade \
     72 	../sepolicy/sepolicy/gui.py \
     73 	../sepolicy/sepolicy/manpage.py \
     74 	../sepolicy/sepolicy/transition.py \
     75 	../sepolicy/sepolicy/templates/executable.py \
     76 	../sepolicy/sepolicy/templates/__init__.py \
     77 	../sepolicy/sepolicy/templates/network.py \
     78 	../sepolicy/sepolicy/templates/rw.py \
     79 	../sepolicy/sepolicy/templates/script.py \
     80 	../sepolicy/sepolicy/templates/semodule.py \
     81 	../sepolicy/sepolicy/templates/tmp.py \
     82 	../sepolicy/sepolicy/templates/user.py \
     83 	../sepolicy/sepolicy/templates/var_lib.py \
     84 	../sepolicy/sepolicy/templates/var_log.py \
     85 	../sepolicy/sepolicy/templates/var_run.py \
     86 	../sepolicy/sepolicy/templates/var_spool.py
     87 
     88 #default:: clean
     89 
     90 all::  $(MOFILES)
     91 
     92 booleans.py:
     93 	sepolicy booleans -a > booleans.py
     94 
     95 $(POTFILE): $(POTFILES) booleans.py
     96 	$(XGETTEXT) --keyword=_ --keyword=N_ $(POTFILES)
     97 	@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
     98 	    rm -f $(NLSPACKAGE).po; \
     99 	else \
    100 	    mv -f $(NLSPACKAGE).po $(POTFILE); \
    101 	fi; \
    102 
    103 update-po: Makefile $(POTFILE) refresh-po
    104 	@rm -f booleans.py
    105 
    106 refresh-po: Makefile
    107 	for cat in $(POFILES); do \
    108 		lang=`basename $$cat .po`; \
    109 		if $(MSGMERGE) $(MSGMERGE_FLAGS) $$lang.po $(POTFILE) > $$lang.pot ; then \
    110 			mv -f $$lang.pot $$lang.po ; \
    111 			echo "$(MSGMERGE) of $$lang succeeded" ; \
    112 		else \
    113 			echo "$(MSGMERGE) of $$lang failed" ; \
    114 			rm -f $$lang.pot ; \
    115 		fi \
    116 	done
    117 
    118 clean:
    119 	@rm -fv *mo *~ .depend
    120 	@rm -rf tmp
    121 
    122 install: $(MOFILES)
    123 	@for n in $(MOFILES); do \
    124 	    l=`basename $$n .mo`; \
    125 	    $(INSTALL_DIR) $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
    126 	    $(INSTALL_DATA) --verbose $$n $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
    127 	done
    128 
    129 %.mo: %.po
    130 	$(MSGFMT) -o $@ $<
    131 report:
    132 	@for cat in $(wildcard *.po); do \
    133                 echo -n "$$cat: "; \
    134                 msgfmt -v --statistics -o /dev/null $$cat; \
    135         done
    136 
    137 .PHONY: missing depend
    138 
    139 relabel:
    140