]> Pileus Git - ~andy/gtk/blob - po-properties/Makefile.in.in
Added XGETTEXT_KEYWORDS.
[~andy/gtk] / po-properties / Makefile.in.in
1 # Makefile for program source directory in GNU NLS utilities package.
2 # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
3 #
4 # This file file be copied and used freely without restrictions.  It can
5 # be used in projects which are not available under the GNU Public License
6 # but which still want to provide support for the GNU gettext functionality.
7 # Please note that the actual code is *not* freely available.
8 #
9 # - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
10 #   instead of PACKAGE and to look for po2tbl in ./ not in intl/
11 #
12 # - Modified by jacob berkman <jacob@ximian.com> to install
13 #   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
14
15 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-properties
16 PACKAGE = @PACKAGE@
17 VERSION = @VERSION@
18
19 XGETTEXT_KEYWORDS = --keyword --keyword=P_
20
21 SHELL = /bin/sh
22 @SET_MAKE@
23
24 srcdir = @srcdir@
25 top_srcdir = @top_srcdir@
26 VPATH = @srcdir@
27
28 prefix = @prefix@
29 exec_prefix = @exec_prefix@
30 datadir = @datadir@
31 libdir = @libdir@
32 localedir = $(libdir)/locale
33 gnulocaledir = $(datadir)/locale
34 gettextsrcdir = $(datadir)/glib-2.0/gettext/po
35 subdir = po-properties
36
37 INSTALL = @INSTALL@
38 INSTALL_DATA = @INSTALL_DATA@
39 MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@
40
41 CC = @CC@
42 GENCAT = @GENCAT@
43 GMSGFMT = @GMSGFMT@
44 MSGFMT = @MSGFMT@
45 XGETTEXT = @XGETTEXT@
46 MSGMERGE = msgmerge
47
48 DEFS = @DEFS@
49 CFLAGS = @CFLAGS@
50 CPPFLAGS = @CPPFLAGS@
51
52 INCLUDES = -I.. -I$(top_srcdir)/intl
53
54 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
55
56 SOURCES = 
57 POFILES = @POFILES@
58 GMOFILES = @GMOFILES@
59 DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \
60 $(POFILES) $(GMOFILES) $(SOURCES)
61
62 POTFILES = \
63
64 CATALOGS = @CATALOGS@
65 CATOBJEXT = @CATOBJEXT@
66 INSTOBJEXT = @INSTOBJEXT@
67
68 .SUFFIXES:
69 .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
70
71 .c.o:
72         $(COMPILE) $<
73
74 .po.pox:
75         $(MAKE) $(GETTEXT_PACKAGE).pot
76         $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox
77
78 .po.mo:
79         $(MSGFMT) -o $@ $<
80
81 .po.gmo:
82         file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
83           && rm -f $$file && $(GMSGFMT) -o $$file $<
84
85 .po.cat:
86         sed -f ../intl/po2msg.sed < $< > $*.msg \
87           && rm -f $@ && $(GENCAT) $@ $*.msg
88
89
90 all: all-@USE_NLS@
91
92 all-yes: $(CATALOGS)
93 all-no:
94
95 $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
96         $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
97           --add-comments --keyword --keyword=P_ \
98           --files-from=$(srcdir)/POTFILES.in \
99         && test ! -f $(GETTEXT_PACKAGE).po \
100            || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \
101                 && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot )
102
103 install: install-exec install-data
104 install-exec:
105 install-data: install-data-@USE_NLS@
106 install-data-no: all
107 install-data-yes: all
108         if test -r "$(MKINSTALLDIRS)"; then \
109           $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
110         else \
111           $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
112         fi
113         @catalogs='$(CATALOGS)'; \
114         for cat in $$catalogs; do \
115           cat=`basename $$cat`; \
116           case "$$cat" in \
117             *.gmo) destdir=$(gnulocaledir);; \
118             *)     destdir=$(localedir);; \
119           esac; \
120           lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
121           dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
122           if test -r "$(MKINSTALLDIRS)"; then \
123             $(MKINSTALLDIRS) $$dir; \
124           else \
125             $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
126           fi; \
127           if test -r $$cat; then \
128             $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
129             echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
130           else \
131             $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
132             echo "installing $(srcdir)/$$cat as" \
133                  "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
134           fi; \
135           if test -r $$cat.m; then \
136             $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
137             echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
138           else \
139             if test -r $(srcdir)/$$cat.m ; then \
140               $(INSTALL_DATA) $(srcdir)/$$cat.m \
141                 $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
142               echo "installing $(srcdir)/$$cat as" \
143                    "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
144             else \
145               true; \
146             fi; \
147           fi; \
148         done
149         if test "$(PACKAGE)" = "glib"; then \
150           if test -r "$(MKINSTALLDIRS)"; then \
151             $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
152           else \
153             $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
154           fi; \
155           $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
156                           $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
157         else \
158           : ; \
159         fi
160
161 # Define this as empty until I found a useful application.
162 installcheck:
163
164 uninstall:
165         catalogs='$(CATALOGS)'; \
166         for cat in $$catalogs; do \
167           cat=`basename $$cat`; \
168           lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
169           rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
170           rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
171           rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
172           rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
173         done
174         if test "$(PACKAGE)" = "glib"; then \
175           rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
176         fi
177
178 check: all
179
180 dvi info tags TAGS ID:
181
182 mostlyclean:
183         rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp
184         rm -fr *.o
185
186 clean: mostlyclean
187
188 distclean: clean
189         rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
190
191 maintainer-clean: distclean
192         @echo "This command is intended for maintainers to use;"
193         @echo "it deletes files that may require special tools to rebuild."
194         rm -f $(GMOFILES)
195
196 distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir)
197 dist distdir: update-po $(DISTFILES)
198         dists="$(DISTFILES)"; \
199         for file in $$dists; do \
200           ln $(srcdir)/$$file $(distdir) 2> /dev/null \
201             || cp -p $(srcdir)/$$file $(distdir); \
202         done
203
204 update-po: Makefile
205         $(MAKE) $(GETTEXT_PACKAGE).pot
206         tmpdir=`pwd`; \
207         cd $(srcdir); \
208         catalogs='$(CATALOGS)'; \
209         for cat in $$catalogs; do \
210           cat=`basename $$cat`; \
211           lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
212           echo "$$lang:"; \
213           if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \
214             if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
215               rm -f $$tmpdir/$$lang.new.po; \
216             else \
217               if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
218                 :; \
219               else \
220                 echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
221                 rm -f $$tmpdir/$$lang.new.po; \
222                 exit 1; \
223               fi; \
224             fi; \
225           else \
226             echo "msgmerge for $$cat failed!"; \
227             rm -f $$tmpdir/$$lang.new.po; \
228           fi; \
229         done
230
231 # POTFILES is created from POTFILES.in by stripping comments, empty lines
232 # and Intltool tags (enclosed in square brackets), and appending a full
233 # relative path to them
234 POTFILES: POTFILES.in
235         ( if test 'x$(srcdir)' != 'x.'; then \
236             posrcprefix='$(top_srcdir)/'; \
237           else \
238             posrcprefix="../"; \
239           fi; \
240           rm -f $@-t $@ \
241             && (sed -e '/^#/d'                                          \
242                     -e "s/^\[.*\] +//"                                  \
243                     -e '/^[     ]*$$/d'                                 \
244                     -e "s@.*@   $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
245                 | sed -e '$$s/\\$$//') > $@-t \
246             && chmod a-w $@-t \
247             && mv $@-t $@ )
248
249 Makefile: Makefile.in.in ../config.status POTFILES
250         cd .. \
251           && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
252                $(SHELL) ./config.status
253
254 # Tell versions [3.59,3.63) of GNU make not to export all variables.
255 # Otherwise a system limit (for SysV at least) may be exceeded.
256 .NOEXPORT: