160484Sobrien# Makefile for program source directory in GNU NLS utilities package.
260484Sobrien# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
3218822Sdim# Copyright 2001, 2003, 2006 Free Software Foundation, Inc.
460484Sobrien#
5218822Sdim# This file may be copied and used freely without restrictions.  It can
660484Sobrien# be used in projects which are not available under the GNU Public License
760484Sobrien# but which still want to provide support for the GNU gettext functionality.
860484Sobrien# Please note that the actual code is *not* freely available.
960484Sobrien
1060484SobrienPACKAGE = @PACKAGE@
1160484SobrienVERSION = @VERSION@
1260484Sobrien
1360484SobrienSHELL = /bin/sh
1460484Sobrien@SET_MAKE@
1560484Sobrien
1660484Sobriensrcdir = @srcdir@
1760484Sobrientop_srcdir = @top_srcdir@
1860484SobrienVPATH = @srcdir@
19218822Sdimtop_builddir = @top_builddir@
2060484Sobrien
2160484Sobrienprefix = @prefix@
2260484Sobrienexec_prefix = @exec_prefix@
2360484Sobriendatadir = $(prefix)/@DATADIRNAME@
2460484Sobrienlocaledir = $(datadir)/locale
2560484Sobriengnulocaledir = $(prefix)/share/locale
2660484Sobriengettextsrcdir = $(prefix)/share/gettext/po
2760484Sobriensubdir = po
2860484Sobrien
29130561SobrienDESTDIR =
30130561Sobrien
3160484SobrienINSTALL = @INSTALL@
3260484SobrienINSTALL_DATA = @INSTALL_DATA@
3360484SobrienMKINSTALLDIRS = @MKINSTALLDIRS@
3460484Sobrien
3560484SobrienCC = @CC@
3660484SobrienGENCAT = @GENCAT@
3760484SobrienGMSGFMT = PATH=../src:$$PATH @GMSGFMT@
3860484SobrienMSGFMT = @MSGFMT@
3960484SobrienXGETTEXT = PATH=../src:$$PATH @XGETTEXT@
4060484SobrienMSGMERGE = PATH=../src:$$PATH msgmerge
4160484Sobrien
4260484SobrienDEFS = @DEFS@
4360484SobrienCFLAGS = @CFLAGS@
4460484SobrienCPPFLAGS = @CPPFLAGS@
4560484Sobrien
4660484SobrienINCLUDES = -I.. -I$(top_srcdir)/intl
4760484Sobrien
4860484SobrienCOMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
4960484Sobrien
5060484SobrienSOURCES = cat-id-tbl.c
5160484SobrienPOFILES = @POFILES@
5260484SobrienGMOFILES = @GMOFILES@
5378828SobrienDISTFILES = ChangeLog Makefile.in.in SRC-POTFILES.in BLD-POTFILES.in $(PACKAGE).pot \
5460484Sobrienstamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
5560484Sobrien
5678828Sobrien# Note - the following line gets processed by bfd/configure and amended
5778828Sobrien# to contain the full list of source dir POTFILES.
5878828SobrienSRC-POTFILES = \
5960484Sobrien
6078828Sobrien# Note - the following line gets processed by bfd/configure and amended
6178828Sobrien# to contain the full list of build dir POTFILES.
6278828SobrienBLD-POTFILES = \
6378828Sobrien
6460484SobrienCATALOGS = @CATALOGS@
6560484SobrienCATOBJEXT = @CATOBJEXT@
6660484SobrienINSTOBJEXT = @INSTOBJEXT@
6760484Sobrien
6860484Sobrien.SUFFIXES:
6960484Sobrien.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
7060484Sobrien
7160484Sobrien.c.o:
7260484Sobrien	$(COMPILE) $<
7360484Sobrien
7460484Sobrien.po.pox:
7560484Sobrien	$(MAKE) $(PACKAGE).pot
7660484Sobrien	$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
7760484Sobrien
7860484Sobrien.po.mo:
7960484Sobrien	$(MSGFMT) -o $@ $<
8060484Sobrien
8160484Sobrien.po.gmo:
82218822Sdim	file=`echo $* | sed 's,.*/,,'`.gmo \
8360484Sobrien	  && rm -f $$file && $(GMSGFMT) -o $$file $<
8460484Sobrien
8560484Sobrien.po.cat:
8660484Sobrien	sed -f ../intl/po2msg.sed < $< > $*.msg \
8760484Sobrien	  && rm -f $@ && $(GENCAT) $@ $*.msg
8860484Sobrien
8960484Sobrien
9060484Sobrienall: all-@USE_NLS@
9160484Sobrien
9260484Sobrienall-yes: $(CATALOGS) @MAINT@ $(PACKAGE).pot
9360484Sobrienall-no:
9460484Sobrien
9578828Sobrien$(srcdir)/$(PACKAGE).pot: $(SRC-POTFILES) $(BLD-POTFILES)
9678828Sobrien	$(XGETTEXT) --default-domain=$(PACKAGE) \
9778828Sobrien	  --directory=$(top_srcdir) \
9860484Sobrien	  --add-comments --keyword=_ --keyword=N_ \
9978828Sobrien	  --files-from=$(srcdir)/SRC-POTFILES.in 
10078828Sobrien	$(XGETTEXT) --default-domain=$(PACKAGE) \
10178828Sobrien	  --directory=.. \
10278828Sobrien	  --directory=. \
10378828Sobrien	  --add-comments --keyword=_ --keyword=N_ \
10478828Sobrien	  --join-existing \
10578828Sobrien	  --files-from=$(srcdir)/BLD-POTFILES.in
10660484Sobrien	rm -f $(srcdir)/$(PACKAGE).pot
10760484Sobrien	mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
10860484Sobrien
10960484Sobrien$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
11060484Sobrien$(srcdir)/stamp-cat-id: $(PACKAGE).pot
11160484Sobrien	rm -f cat-id-tbl.tmp
11260484Sobrien	sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
11360484Sobrien		| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
11460484Sobrien	if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
11560484Sobrien	  rm cat-id-tbl.tmp; \
11660484Sobrien	else \
11760484Sobrien	  echo cat-id-tbl.c changed; \
11860484Sobrien	  rm -f $(srcdir)/cat-id-tbl.c; \
11960484Sobrien	  mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
12060484Sobrien	fi
12160484Sobrien	cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
12260484Sobrien
12360484Sobrien
12460484Sobrieninstall: install-exec install-data
12560484Sobrieninstall-exec:
12660484Sobrieninstall-info:
127218822Sdiminstall-html:
12860484Sobrieninstall-data: install-data-@USE_NLS@
12960484Sobrieninstall-data-no: all
13060484Sobrieninstall-data-yes: all
13160484Sobrien	if test -r $(MKINSTALLDIRS); then \
132130561Sobrien	  $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
13360484Sobrien	else \
134130561Sobrien	  $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
13560484Sobrien	fi
13660484Sobrien	@catalogs='$(CATALOGS)'; \
13760484Sobrien	for cat in $$catalogs; do \
13860484Sobrien	  cat=`basename $$cat`; \
13960484Sobrien	  case "$$cat" in \
14060484Sobrien	    *.gmo) destdir=$(gnulocaledir);; \
14160484Sobrien	    *)     destdir=$(localedir);; \
14260484Sobrien	  esac; \
14360484Sobrien	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
144130561Sobrien	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
14560484Sobrien	  if test -r $(MKINSTALLDIRS); then \
14660484Sobrien	    $(MKINSTALLDIRS) $$dir; \
14760484Sobrien	  else \
14860484Sobrien	    $(top_srcdir)/mkinstalldirs $$dir; \
14960484Sobrien	  fi; \
15060484Sobrien	  if test -r $$cat; then \
15160484Sobrien	    $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
15260484Sobrien	    echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
15360484Sobrien	  else \
15460484Sobrien	    $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
15560484Sobrien	    echo "installing $(srcdir)/$$cat as" \
15660484Sobrien		 "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
15760484Sobrien	  fi; \
15860484Sobrien	  if test -r $$cat.m; then \
15960484Sobrien	    $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
16060484Sobrien	    echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
16160484Sobrien	  else \
16260484Sobrien	    if test -r $(srcdir)/$$cat.m ; then \
16360484Sobrien	      $(INSTALL_DATA) $(srcdir)/$$cat.m \
16460484Sobrien		$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
16560484Sobrien	      echo "installing $(srcdir)/$$cat as" \
16660484Sobrien		   "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
16760484Sobrien	    else \
16860484Sobrien	      true; \
16960484Sobrien	    fi; \
17060484Sobrien	  fi; \
17160484Sobrien	done
17260484Sobrien	if test "$(PACKAGE)" = "gettext"; then \
17360484Sobrien	  if test -r $(MKINSTALLDIRS); then \
174130561Sobrien	    $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
17560484Sobrien	  else \
176130561Sobrien	    $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
17760484Sobrien	  fi; \
17860484Sobrien	  $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
179130561Sobrien			  $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
18060484Sobrien	else \
18160484Sobrien	  : ; \
18260484Sobrien	fi
18360484Sobrien
18460484Sobrien# Define this as empty until I found a useful application.
18560484Sobrieninstallcheck:
18660484Sobrien
18760484Sobrienuninstall:
18860484Sobrien	catalogs='$(CATALOGS)'; \
18960484Sobrien	for cat in $$catalogs; do \
19060484Sobrien	  cat=`basename $$cat`; \
19160484Sobrien	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
192130561Sobrien	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
193130561Sobrien	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
194130561Sobrien	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
195130561Sobrien	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
19660484Sobrien	done
197130561Sobrien	rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in
19860484Sobrien
19960484Sobriencheck: all
20060484Sobrien
20160484Sobriencat-id-tbl.o: ../intl/libgettext.h
20260484Sobrien
203218822Sdimhtml dvi pdf ps info tags TAGS ID:
20460484Sobrien
20560484Sobrienmostlyclean:
20660484Sobrien	rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
20760484Sobrien	rm -fr *.o
20860484Sobrien
20960484Sobrienclean: mostlyclean
21060484Sobrien
21160484Sobriendistclean: clean
21278828Sobrien	rm -f Makefile Makefile.in *.mo *.msg *.cat *.cat.m
21389857Sobrien	rm -f SRC-POTFILES BLD-POTFILES 
21460484Sobrien
21560484Sobrienmaintainer-clean: distclean
21660484Sobrien	@echo "This command is intended for maintainers to use;"
21760484Sobrien	@echo "it deletes files that may require special tools to rebuild."
21889857Sobrien	rm -f $(GMOFILES) SRC-POTFILES.in BLD-POTFILES.in
21960484Sobrien
22060484Sobriendistdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
22160484Sobriendist distdir: update-po $(DISTFILES)
22260484Sobrien	dists="$(DISTFILES)"; \
22360484Sobrien	for file in $$dists; do \
22460484Sobrien	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
22560484Sobrien	    || cp -p $(srcdir)/$$file $(distdir); \
22660484Sobrien	done
22760484Sobrien
22860484Sobrienupdate-po: Makefile
22960484Sobrien	$(MAKE) $(PACKAGE).pot
23060484Sobrien	PATH=`pwd`/../src:$$PATH; \
23160484Sobrien	cd $(srcdir); \
23260484Sobrien	catalogs='$(CATALOGS)'; \
23360484Sobrien	for cat in $$catalogs; do \
23460484Sobrien	  cat=`basename $$cat`; \
23560484Sobrien	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
23660484Sobrien	  mv $$lang.po $$lang.old.po; \
23760484Sobrien	  echo "$$lang:"; \
23860484Sobrien	  if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
23960484Sobrien	    rm -f $$lang.old.po; \
24060484Sobrien	  else \
24160484Sobrien	    echo "msgmerge for $$cat failed!"; \
24260484Sobrien	    rm -f $$lang.po; \
24360484Sobrien	    mv $$lang.old.po $$lang.po; \
24460484Sobrien	  fi; \
24560484Sobrien	done
24660484Sobrien
24778828SobrienSRC-POTFILES: SRC-POTFILES.in
24860484Sobrien	( if test 'x$(srcdir)' != 'x.'; then \
24960484Sobrien	    posrcprefix='$(top_srcdir)/'; \
25060484Sobrien	  else \
25160484Sobrien	    posrcprefix="../"; \
25260484Sobrien	  fi; \
25360484Sobrien	  rm -f $@-t $@ \
25478828Sobrien	    && (sed -e '/^#/d' \
25578828Sobrien	            -e '/^[ 	]*$$/d' \
25660484Sobrien		    -e "s@.*@	$$posrcprefix& \\\\@" < $(srcdir)/$@.in \
25760484Sobrien		| sed -e '$$s/\\$$//') > $@-t \
25860484Sobrien	    && chmod a-w $@-t \
25960484Sobrien	    && mv $@-t $@ )
26060484Sobrien
26178828SobrienBLD-POTFILES: BLD-POTFILES.in
26278828Sobrien	  ( rm -f $@-t $@ \
26378828Sobrien	    && (sed -e '/^#/d' \
26478828Sobrien	            -e '/^[ 	]*$$/d' \
26578828Sobrien		    -e "s@.*@	../& \\\\@" < $(srcdir)/$@.in \
26678828Sobrien		| sed -e '$$s/\\$$//') > $@-t \
26778828Sobrien	    && chmod a-w $@-t \
26878828Sobrien	    && mv $@-t $@ )
26960484Sobrien
27078828SobrienSRC-POTFILES.in: @MAINT@ ../Makefile
27178828Sobrien	cd .. && $(MAKE) po/SRC-POTFILES.in
27278828Sobrien
27378828SobrienBLD-POTFILES.in: @MAINT@ ../Makefile
27478828Sobrien	cd .. && $(MAKE) po/BLD-POTFILES.in
27578828Sobrien
27678828Sobrien# Note - The presence of SRC-POTFILES and BLD-POTFILES as dependencies
27778828Sobrien# here breaks the implementation of the 'distclean' rule for maintainers.
27878828Sobrien# This is because if 'make distclean' is run in the BFD directory, the
27978828Sobrien# Makefile there will be deleted before 'distclean' is made here, and so
28078828Sobrien# the dependency SRC-POTFILES -> SRC-POTFILES.in -> ../Makefile cannot
28178828Sobrien# be satisfied.
28278828Sobrien#
28378828Sobrien# The SRC-POTFILES and BLD-POTFILES dependencies cannot be removed,
28478828Sobrien# however since it is necessary that these files be built during
28578828Sobrien# *configure* time, so that configure can insert them into the
28678828Sobrien# po/Makefile that it is creating, so that the Makefile will have
28778828Sobrien# the correct dependencies.
28878828SobrienMakefile: Make-in ../config.status SRC-POTFILES BLD-POTFILES
28960484Sobrien	cd .. \
29060484Sobrien	  && CONFIG_FILES=$(subdir)/Makefile.in:$(subdir)/Make-in \
29160484Sobrien	     CONFIG_HEADERS= $(SHELL) ./config.status
29260484Sobrien
29360484Sobrien# Tell versions [3.59,3.63) of GNU make not to export all variables.
29460484Sobrien# Otherwise a system limit (for SysV at least) may be exceeded.
29560484Sobrien.NOEXPORT:
296