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