4 include ../make_include
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.
12 INTL = /usr/share/gettext/intl
13 # FOREIGN=--foreign-user
18 datadir = $(prefix)/share
19 localedir = $(datadir)/locale
20 gnulocaledir = $(prefix)/share/locale
21 gettextsrcdir = $(prefix)/share/gettext/po
23 INSTALL = /usr/bin/install -c
24 INSTALL_DATA = ${INSTALL} -m 644
26 # Not giving an explicit path improves the chances of finding these
32 # .. for <config.h> (if HAVE_CONFIG_H is set)
33 # $(INTL) for "libgettext.h"
34 INCLUDES = -I.. -I$(INTL)
36 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
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
43 CATALOGS = $(GMOFILES)
48 .SUFFIXES: .c .o .po .gmo .mo .msg .cat
60 sed -f $(PO2TBL) < $< > $*.msg \
61 && rm -f $@ && $(GENCAT) $@ $*.msg
63 all: all-$(HAVE_XGETTEXT)
65 all-yes: cat-id-tbl.c $(CATALOGS)
69 $(XGETTEXT) --default-domain=kbd --directory=.. \
70 --add-comments --keyword=_ --keyword=N_ \
71 --files-from=POTFILES.in $(FOREIGN)
74 cat-id-tbl.c: stamp-cat-id
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 \
82 echo cat-id-tbl.c changed; \
84 mv cat-id-tbl.tmp cat-id-tbl.c; \
86 rm -f stamp-cat-id && echo timestamp > stamp-cat-id
88 install: install-data-$(HAVE_XGETTEXT)
91 ../mkinstalldirs $(datadir);
92 @catalogs='$(CATALOGS)'; \
93 for cat in $$catalogs; do \
95 *.gmo) destdir=$(gnulocaledir);; \
96 *) destdir=$(localedir);; \
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"; \
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; \
118 rm -f $(gettextsrcdir)/po-Makefile.in.in
120 cat-id-tbl.o: $(INTL)/libgettext.h
123 rm -f core core.* *~ *.o kbd.pot cat-id-tbl.tmp
126 rm -f POTFILES *.gmo *.mo *.msg *.cat *.cat.m
130 catalogs='$(CATALOGS)'; \
131 for cat in $$catalogs; do \
132 lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
133 mv $$lang.po $$lang.old.po; \
135 if $(MSGMERGE) $$lang.old.po kbd.pot -o $$lang.po; then \
136 rm -f $$lang.old.po; \
138 echo "msgmerge for $$cat failed!"; \
140 mv $$lang.old.po $$lang.po; \