3fa1950b9a68e3e3ca53299887148c2088b5efec
[platform/upstream/kbd.git] / po / Makefile
1 PACKAGE = kbd
2 VERSION = 1.06
3
4 include ../make_include
5
6 #
7 # po2tbl.sed is not taken from /usr/share/gettext/intl
8 # Often it is not present.
9 # A RedHat 5.2 installation only has po2tbl.sed.in.
10 #
11 PO2TBL = ./po2tbl.sed
12 INTL = /usr/share/gettext/intl
13 # FOREIGN=--foreign-user
14 FOREIGN=
15 SHELL = /bin/sh
16
17 prefix = ${DESTDIR}
18 datadir = $(prefix)/share
19 localedir = $(datadir)/locale
20 gnulocaledir = $(prefix)/share/locale
21 gettextsrcdir = $(prefix)/share/gettext/po
22
23 INSTALL = /usr/bin/install -c
24 INSTALL_DATA = ${INSTALL} -m 644
25
26 # Not giving an explicit path improves the chances of finding these
27 GENCAT = gencat
28 MSGFMT = msgfmt
29 XGETTEXT = xgettext
30 MSGMERGE = msgmerge
31
32 # ..      for <config.h> (if HAVE_CONFIG_H is set)
33 # $(INTL) for "libgettext.h"
34 INCLUDES = -I.. -I$(INTL)
35
36 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
37
38 # Enter here all .po files
39 POFILES =  es.po nl.po ru.po
40 # the same but with .gmo
41 GMOFILES = es.gmo nl.gmo ru.gmo
42
43 CATALOGS = $(GMOFILES)
44 CATOBJEXT = .gmo
45 INSTOBJEXT = .mo
46
47 .SUFFIXES:
48 .SUFFIXES: .c .o .po .gmo .mo .msg .cat
49
50 .c.o:
51         $(COMPILE) $<
52
53 .po.mo:
54         $(MSGFMT) -o $@ $<
55
56 .po.gmo:
57         $(MSGFMT) -o $@ $<
58
59 .po.cat:
60         sed -f $(PO2TBL) < $< > $*.msg \
61           && rm -f $@ && $(GENCAT) $@ $*.msg
62
63 all: all-$(HAVE_XGETTEXT)
64
65 all-yes: cat-id-tbl.c $(CATALOGS)
66 all-no:
67
68 kbd.pot:
69         $(XGETTEXT) --default-domain=kbd --directory=.. \
70           --add-comments --keyword=_ --keyword=N_ \
71           --files-from=POTFILES.in $(FOREIGN)
72         mv kbd.po kbd.pot
73
74 cat-id-tbl.c: stamp-cat-id
75 stamp-cat-id: kbd.pot
76         rm -f cat-id-tbl.tmp
77         sed -f $(PO2TBL) kbd.pot \
78                 | sed -e "s/@PACKAGE NAME@/kbd/" > cat-id-tbl.tmp
79         if cmp -s cat-id-tbl.tmp cat-id-tbl.c; then \
80           rm cat-id-tbl.tmp; \
81         else \
82           echo cat-id-tbl.c changed; \
83           rm -f cat-id-tbl.c; \
84           mv cat-id-tbl.tmp cat-id-tbl.c; \
85         fi
86         rm -f stamp-cat-id && echo timestamp > stamp-cat-id
87
88 install: install-data-$(HAVE_XGETTEXT)
89 install-data-no: all
90 install-data-yes: all
91         ../mkinstalldirs $(datadir);
92         @catalogs='$(CATALOGS)'; \
93         for cat in $$catalogs; do \
94           case "$$cat" in \
95             *.gmo) destdir=$(gnulocaledir);; \
96             *)     destdir=$(localedir);; \
97           esac; \
98           lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
99           dir=$$destdir/$$lang/LC_MESSAGES; \
100           ../mkinstalldirs $$dir; \
101           $(INSTALL_DATA) $$cat $$dir/kbd$(INSTOBJEXT); \
102           echo "installing $$cat as $$dir/kbd$(INSTOBJEXT)"; \
103           if test -r $$cat.m; then \
104             $(INSTALL_DATA) $$cat.m $$dir/kbd$(INSTOBJEXT).m; \
105             echo "installing $$cat.m as $$dir/kbd$(INSTOBJEXT).m"; \
106           fi; \
107         done
108
109 uninstall:
110         catalogs='$(CATALOGS)'; \
111         for cat in $$catalogs; do \
112           lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
113           rm -f $(localedir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT); \
114           rm -f $(localedir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT).m; \
115           rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT); \
116           rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/kbd$(INSTOBJEXT).m; \
117         done
118         rm -f $(gettextsrcdir)/po-Makefile.in.in
119
120 cat-id-tbl.o: $(INTL)/libgettext.h
121
122 clean:
123         rm -f core core.* *~ *.o kbd.pot cat-id-tbl.tmp
124
125 distclean: clean
126         rm -f POTFILES *.gmo *.mo *.msg *.cat *.cat.m
127
128 update-po: 
129         $(MAKE) kbd.pot
130         catalogs='$(CATALOGS)'; \
131         for cat in $$catalogs; do \
132           lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
133           mv $$lang.po $$lang.old.po; \
134           echo "$$lang:"; \
135           if $(MSGMERGE) $$lang.old.po kbd.pot -o $$lang.po; then \
136             rm -f $$lang.old.po; \
137           else \
138             echo "msgmerge for $$cat failed!"; \
139             rm -f $$lang.po; \
140             mv $$lang.old.po $$lang.po; \
141           fi; \
142         done
143
144 POTFILES: 
145         ./update-potfiles
146