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