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