1102729Sobrien# Makefile for program source directory in GNU NLS utilities package.
2102729Sobrien# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
3218822Sdim# Copyright 2002, 2003, 2006 Free Software Foundation, Inc.
4102729Sobrien#
5218822Sdim# This file may be copied and used freely without restrictions.  It can
6102729Sobrien# be used in projects which are not available under the GNU Public License
7102729Sobrien# but which still want to provide support for the GNU gettext functionality.
8102729Sobrien# Please note that the actual code is *not* freely available.
9102729Sobrien
10102729SobrienPACKAGE = @PACKAGE@
11102729SobrienVERSION = @VERSION@
12102729Sobrien
13102729SobrienSHELL = /bin/sh
14102729Sobrien@SET_MAKE@
15102729Sobrien
16102729Sobriensrcdir = @srcdir@
17102729Sobrientop_srcdir = @top_srcdir@
18102729SobrienVPATH = @srcdir@
19218822Sdimtop_builddir = @top_builddir@
20102729Sobrien
21102729Sobrienprefix = @prefix@
22102729Sobrienexec_prefix = @exec_prefix@
23102729Sobriendatadir = $(prefix)/@DATADIRNAME@
24102729Sobrienlocaledir = $(datadir)/locale
25102729Sobriengnulocaledir = $(prefix)/share/locale
26102729Sobriengettextsrcdir = $(prefix)/share/gettext/po
27102729Sobriensubdir = po
28102729Sobrien
29218822SdimDESTDIR =
30218822Sdim
31102729SobrienINSTALL = @INSTALL@
32102729SobrienINSTALL_DATA = @INSTALL_DATA@
33102729SobrienMKINSTALLDIRS = @MKINSTALLDIRS@
34102729Sobrien
35102729SobrienCC = @CC@
36102729SobrienGENCAT = @GENCAT@
37102729SobrienGMSGFMT = PATH=../src:$$PATH @GMSGFMT@
38102729SobrienMSGFMT = @MSGFMT@
39102729SobrienXGETTEXT = PATH=../src:$$PATH @XGETTEXT@
40102729SobrienMSGMERGE = PATH=../src:$$PATH msgmerge
41102729Sobrien
42102729SobrienDEFS = @DEFS@
43102729SobrienCFLAGS = @CFLAGS@
44102729SobrienCPPFLAGS = @CPPFLAGS@
45102729Sobrien
46102729SobrienINCLUDES = -I.. -I$(top_srcdir)/intl
47102729Sobrien
48102729SobrienCOMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
49102729Sobrien
50102729SobrienSOURCES = cat-id-tbl.c
51102729SobrienPOFILES = @POFILES@
52102729SobrienGMOFILES = @GMOFILES@
53102729SobrienDISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
54102729Sobrienstamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
55102729Sobrien
56102729SobrienPOTFILES = \
57102729Sobrien
58102729SobrienCATALOGS = @CATALOGS@
59102729SobrienCATOBJEXT = @CATOBJEXT@
60102729SobrienINSTOBJEXT = @INSTOBJEXT@
61102729Sobrien
62102729Sobrien.SUFFIXES:
63102729Sobrien.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
64102729Sobrien
65102729Sobrien.c.o:
66102729Sobrien	$(COMPILE) $<
67102729Sobrien
68102729Sobrien.po.pox:
69102729Sobrien	$(MAKE) $(PACKAGE).pot
70102729Sobrien	$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
71102729Sobrien
72102729Sobrien.po.mo:
73102729Sobrien	$(MSGFMT) -o $@ $<
74102729Sobrien
75102729Sobrien.po.gmo:
76218822Sdim	file=`echo $* | sed 's,.*/,,'`.gmo \
77218822Sdim	  && rm -f $$file && $(GMSGFMT) -o $$file $<
78102729Sobrien
79102729Sobrien.po.cat:
80102729Sobrien	sed -f ../intl/po2msg.sed < $< > $*.msg \
81102729Sobrien	  && rm -f $@ && $(GENCAT) $@ $*.msg
82102729Sobrien
83102729Sobrien
84102729Sobrienall: all-@USE_NLS@
85102729Sobrien
86102729Sobrienall-yes: $(CATALOGS) @MAINT@ $(PACKAGE).pot
87102729Sobrienall-no:
88102729Sobrien
89102729Sobrien$(srcdir)/$(PACKAGE).pot: $(POTFILES)
90102729Sobrien	$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
91102729Sobrien	  --add-comments --keyword=_ --keyword=N_ \
92102729Sobrien	  --files-from=$(srcdir)/POTFILES.in
93102729Sobrien	rm -f $(srcdir)/$(PACKAGE).pot
94102729Sobrien	mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
95102729Sobrien
96102729Sobrien$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
97102729Sobrien$(srcdir)/stamp-cat-id: $(PACKAGE).pot
98102729Sobrien	rm -f cat-id-tbl.tmp
99102729Sobrien	sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
100102729Sobrien		| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
101102729Sobrien	if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
102102729Sobrien	  rm cat-id-tbl.tmp; \
103102729Sobrien	else \
104102729Sobrien	  echo cat-id-tbl.c changed; \
105102729Sobrien	  rm -f $(srcdir)/cat-id-tbl.c; \
106102729Sobrien	  mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
107102729Sobrien	fi
108102729Sobrien	cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
109102729Sobrien
110102729Sobrien
111102729Sobrieninstall: install-exec install-data
112102729Sobrieninstall-exec:
113102729Sobrieninstall-info:
114218822Sdiminstall-html:
115102729Sobrieninstall-data: install-data-@USE_NLS@
116102729Sobrieninstall-data-no: all
117102729Sobrieninstall-data-yes: all
118102729Sobrien	if test -r $(MKINSTALLDIRS); then \
119218822Sdim	  $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
120102729Sobrien	else \
121218822Sdim	  $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
122102729Sobrien	fi
123102729Sobrien	@catalogs='$(CATALOGS)'; \
124102729Sobrien	for cat in $$catalogs; do \
125102729Sobrien	  cat=`basename $$cat`; \
126102729Sobrien	  case "$$cat" in \
127102729Sobrien	    *.gmo) destdir=$(gnulocaledir);; \
128102729Sobrien	    *)     destdir=$(localedir);; \
129102729Sobrien	  esac; \
130102729Sobrien	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
131218822Sdim	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
132102729Sobrien	  if test -r $(MKINSTALLDIRS); then \
133102729Sobrien	    $(MKINSTALLDIRS) $$dir; \
134102729Sobrien	  else \
135102729Sobrien	    $(top_srcdir)/mkinstalldirs $$dir; \
136102729Sobrien	  fi; \
137102729Sobrien	  if test -r $$cat; then \
138102729Sobrien	    $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
139102729Sobrien	    echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
140102729Sobrien	  else \
141102729Sobrien	    $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
142102729Sobrien	    echo "installing $(srcdir)/$$cat as" \
143102729Sobrien		 "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
144102729Sobrien	  fi; \
145102729Sobrien	  if test -r $$cat.m; then \
146102729Sobrien	    $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
147102729Sobrien	    echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
148102729Sobrien	  else \
149102729Sobrien	    if test -r $(srcdir)/$$cat.m ; then \
150102729Sobrien	      $(INSTALL_DATA) $(srcdir)/$$cat.m \
151102729Sobrien		$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
152102729Sobrien	      echo "installing $(srcdir)/$$cat as" \
153102729Sobrien		   "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
154102729Sobrien	    else \
155102729Sobrien	      true; \
156102729Sobrien	    fi; \
157102729Sobrien	  fi; \
158102729Sobrien	done
159102729Sobrien	if test "$(PACKAGE)" = "gettext"; then \
160102729Sobrien	  if test -r $(MKINSTALLDIRS); then \
161218822Sdim	    $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
162102729Sobrien	  else \
163218822Sdim	    $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
164102729Sobrien	  fi; \
165102729Sobrien	  $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
166218822Sdim			  $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
167102729Sobrien	else \
168102729Sobrien	  : ; \
169102729Sobrien	fi
170102729Sobrien
171102729Sobrien# Define this as empty until I found a useful application.
172102729Sobrieninstallcheck:
173102729Sobrien
174102729Sobrienuninstall:
175102729Sobrien	catalogs='$(CATALOGS)'; \
176102729Sobrien	for cat in $$catalogs; do \
177102729Sobrien	  cat=`basename $$cat`; \
178102729Sobrien	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
179218822Sdim	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
180218822Sdim	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
181218822Sdim	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
182218822Sdim	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
183102729Sobrien	done
184218822Sdim	rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in
185102729Sobrien
186102729Sobriencheck: all
187102729Sobrien
188102729Sobriencat-id-tbl.o: ../intl/libgettext.h
189102729Sobrien
190218822Sdimhtml dvi pdf ps info tags TAGS ID:
191102729Sobrien
192102729Sobrienmostlyclean:
193102729Sobrien	rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
194102729Sobrien	rm -fr *.o
195102729Sobrien
196102729Sobrienclean: mostlyclean
197102729Sobrien
198102729Sobriendistclean: clean
199102729Sobrien	rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
200102729Sobrien
201102729Sobrienmaintainer-clean: distclean
202102729Sobrien	@echo "This command is intended for maintainers to use;"
203102729Sobrien	@echo "it deletes files that may require special tools to rebuild."
204102729Sobrien	rm -f $(GMOFILES)
205102729Sobrien
206102729Sobriendistdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
207102729Sobriendist distdir: update-po $(DISTFILES)
208102729Sobrien	dists="$(DISTFILES)"; \
209102729Sobrien	for file in $$dists; do \
210102729Sobrien	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
211102729Sobrien	    || cp -p $(srcdir)/$$file $(distdir); \
212102729Sobrien	done
213102729Sobrien
214102729Sobrienupdate-po: Makefile
215102729Sobrien	$(MAKE) $(PACKAGE).pot
216102729Sobrien	PATH=`pwd`/../src:$$PATH; \
217102729Sobrien	cd $(srcdir); \
218102729Sobrien	catalogs='$(CATALOGS)'; \
219102729Sobrien	for cat in $$catalogs; do \
220102729Sobrien	  cat=`basename $$cat`; \
221102729Sobrien	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
222102729Sobrien	  mv $$lang.po $$lang.old.po; \
223102729Sobrien	  echo "$$lang:"; \
224102729Sobrien	  if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
225102729Sobrien	    rm -f $$lang.old.po; \
226102729Sobrien	  else \
227102729Sobrien	    echo "msgmerge for $$cat failed!"; \
228102729Sobrien	    rm -f $$lang.po; \
229102729Sobrien	    mv $$lang.old.po $$lang.po; \
230102729Sobrien	  fi; \
231102729Sobrien	done
232102729Sobrien
233102729SobrienPOTFILES: POTFILES.in
234102729Sobrien	( if test 'x$(srcdir)' != 'x.'; then \
235102729Sobrien	    posrcprefix='$(top_srcdir)/'; \
236102729Sobrien	  else \
237102729Sobrien	    posrcprefix="../"; \
238102729Sobrien	  fi; \
239102729Sobrien	  rm -f $@-t $@ \
240102729Sobrien	    && (sed -e '/^#/d' -e '/^[ 	]*$$/d' \
241102729Sobrien		    -e "s@.*@	$$posrcprefix& \\\\@" < $(srcdir)/$@.in \
242102729Sobrien		| sed -e '$$s/\\$$//') > $@-t \
243102729Sobrien	    && chmod a-w $@-t \
244102729Sobrien	    && mv $@-t $@ )
245102729Sobrien
246102729SobrienPOTFILES.in: @MAINT@ ../Makefile
247102729Sobrien	cd .. && $(MAKE) po/POTFILES.in
248102729Sobrien
249102729SobrienMakefile: Make-in ../config.status POTFILES
250102729Sobrien	cd .. \
251102729Sobrien	  && CONFIG_FILES=$(subdir)/Makefile.in:$(subdir)/Make-in \
252102729Sobrien	     CONFIG_HEADERS= $(SHELL) ./config.status
253102729Sobrien
254102729Sobrien# Tell versions [3.59,3.63) of GNU make not to export all variables.
255102729Sobrien# Otherwise a system limit (for SysV at least) may be exceeded.
256102729Sobrien.NOEXPORT:
257