xref: /freebsd/contrib/dialog/po/makefile.inn (revision 7a1c0d963366a31363d3705697a083dd8efee077)
14c8945a0SNathan Whitehorn# Makefile for program source directory in GNU NLS utilities package.
24c8945a0SNathan Whitehorn# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
34c8945a0SNathan Whitehorn#
44c8945a0SNathan Whitehorn# This file may be copied and used freely without restrictions.  It can
54c8945a0SNathan Whitehorn# be used in projects which are not available under the GNU Public License
64c8945a0SNathan Whitehorn# but which still want to provide support for the GNU gettext functionality.
74c8945a0SNathan Whitehorn# Please note that the actual code is *not* freely available.
84c8945a0SNathan Whitehorn
94c8945a0SNathan WhitehornPACKAGE = @PACKAGE@
104c8945a0SNathan WhitehornVERSION = @VERSION@
11*7a1c0d96SNathan WhitehornNLS_TEXTDOMAIN = @NLS_TEXTDOMAIN@
124c8945a0SNathan Whitehorn
134c8945a0SNathan WhitehornSHELL = /bin/sh
144c8945a0SNathan Whitehorn@SET_MAKE@
154c8945a0SNathan Whitehorn
164c8945a0SNathan Whitehornsrcdir = @srcdir@
174c8945a0SNathan Whitehorntop_srcdir = @top_srcdir@
184c8945a0SNathan WhitehornVPATH = @srcdir@
194c8945a0SNathan Whitehorn
204c8945a0SNathan Whitehornprefix = @prefix@
214c8945a0SNathan Whitehornexec_prefix = @exec_prefix@
224c8945a0SNathan Whitehorndatadir = $(prefix)/@DATADIRNAME@
234c8945a0SNathan Whitehornlocaledir = $(datadir)/locale
244c8945a0SNathan Whitehorngnulocaledir = $(prefix)/share/locale
254c8945a0SNathan Whitehorngettextsrcdir = $(prefix)/share/gettext/po
264c8945a0SNathan Whitehornsubdir = po
274c8945a0SNathan Whitehorn
284c8945a0SNathan WhitehornINSTALL = @INSTALL@
294c8945a0SNathan WhitehornINSTALL_DATA = @INSTALL_DATA@
304c8945a0SNathan WhitehornDESTDIR = @DESTDIR@
314c8945a0SNathan Whitehorn
324c8945a0SNathan WhitehornCC = @CC@
334c8945a0SNathan WhitehornGENCAT = @GENCAT@
344c8945a0SNathan WhitehornGMSGFMT = PATH=../src:$$PATH @GMSGFMT@
354c8945a0SNathan WhitehornMSGFMT = @MSGFMT@
364c8945a0SNathan WhitehornXGETTEXT = PATH=../src:$$PATH @XGETTEXT@
374c8945a0SNathan WhitehornMSGMERGE = PATH=../src:$$PATH msgmerge
384c8945a0SNathan Whitehorn
394c8945a0SNathan WhitehornDEFS = @DEFS@
404c8945a0SNathan WhitehornCFLAGS = @CFLAGS@
414c8945a0SNathan WhitehornCPPFLAGS = @CPPFLAGS@
424c8945a0SNathan Whitehorn
434c8945a0SNathan WhitehornINCLUDES = -I.. -I$(top_srcdir)/intl
444c8945a0SNathan Whitehorn
454c8945a0SNathan WhitehornCOMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
464c8945a0SNathan Whitehorn
474c8945a0SNathan WhitehornSOURCES = @INTLDIR_MAKE@ cat-id-tbl.c
484c8945a0SNathan WhitehornPOFILES = @POFILES@
494c8945a0SNathan WhitehornGMOFILES = @GMOFILES@
504c8945a0SNathan WhitehornDISTFILES = ChangeLog makefile.inn POTFILES.in $(PACKAGE).pot \
514c8945a0SNathan Whitehornstamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
524c8945a0SNathan Whitehorn
534c8945a0SNathan WhitehornPOTFILES = \
544c8945a0SNathan Whitehorn
554c8945a0SNathan WhitehornCATALOGS = @CATALOGS@
564c8945a0SNathan WhitehornCATOBJEXT = @CATOBJEXT@
574c8945a0SNathan WhitehornINSTOBJEXT = @INSTOBJEXT@
584c8945a0SNathan Whitehorn
594c8945a0SNathan Whitehorn.SUFFIXES:
604c8945a0SNathan Whitehorn.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
614c8945a0SNathan Whitehorn
624c8945a0SNathan Whitehorn.c.o:
634c8945a0SNathan Whitehorn	$(COMPILE) $<
644c8945a0SNathan Whitehorn
654c8945a0SNathan Whitehorn.po.pox:
664c8945a0SNathan Whitehorn	$(MAKE) $(PACKAGE).pot
674c8945a0SNathan Whitehorn	$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
684c8945a0SNathan Whitehorn
694c8945a0SNathan Whitehorn.po.mo:
704c8945a0SNathan Whitehorn	$(MSGFMT) -o $@ $<
714c8945a0SNathan Whitehorn
724c8945a0SNathan Whitehorn.po.gmo:
734c8945a0SNathan Whitehorn	file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
744c8945a0SNathan Whitehorn	  && rm -f $$file && $(GMSGFMT) -o $$file $<
754c8945a0SNathan Whitehorn
764c8945a0SNathan Whitehorn.po.cat:
774c8945a0SNathan Whitehorn	sed -f ../intl/po2msg.sed < $< > $*.msg \
784c8945a0SNathan Whitehorn	  && rm -f $@ && $(GENCAT) $@ $*.msg
794c8945a0SNathan Whitehorn
804c8945a0SNathan Whitehorn
814c8945a0SNathan Whitehornall: all-@USE_NLS@
824c8945a0SNathan Whitehorn
834c8945a0SNathan Whitehornall-yes: $(SOURCES) $(CATALOGS)
844c8945a0SNathan Whitehornall-no:
854c8945a0SNathan Whitehorn
864c8945a0SNathan Whitehorn$(srcdir)/$(PACKAGE).pot: $(POTFILES)
87*7a1c0d96SNathan Whitehorn	$(XGETTEXT) --default-domain=$(NLS_TEXTDOMAIN) --directory=$(top_srcdir) \
884c8945a0SNathan Whitehorn	  --add-comments --keyword=_ --keyword=N_ \
894c8945a0SNathan Whitehorn	  --files-from=$(srcdir)/POTFILES.in \
904c8945a0SNathan Whitehorn	&& test ! -f $(PACKAGE).po \
914c8945a0SNathan Whitehorn	   || ( rm -f $(srcdir)/$(PACKAGE).pot \
924c8945a0SNathan Whitehorn		&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
934c8945a0SNathan Whitehorn
944c8945a0SNathan Whitehorn$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
954c8945a0SNathan Whitehorn$(srcdir)/stamp-cat-id: $(PACKAGE).pot
964c8945a0SNathan Whitehorn	rm -f cat-id-tbl.tmp
974c8945a0SNathan Whitehorn	sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
984c8945a0SNathan Whitehorn		| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
994c8945a0SNathan Whitehorn	if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
1004c8945a0SNathan Whitehorn	  rm cat-id-tbl.tmp; \
1014c8945a0SNathan Whitehorn	else \
1024c8945a0SNathan Whitehorn	  echo cat-id-tbl.c changed; \
1034c8945a0SNathan Whitehorn	  rm -f $(srcdir)/cat-id-tbl.c; \
1044c8945a0SNathan Whitehorn	  mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
1054c8945a0SNathan Whitehorn	fi
1064c8945a0SNathan Whitehorn	cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
1074c8945a0SNathan Whitehorn
1084c8945a0SNathan Whitehorn
1094c8945a0SNathan Whitehorninstall install-full: install-exec install-data
1104c8945a0SNathan Whitehorninstall-exec:
1114c8945a0SNathan Whitehorninstall-data: install-data-@USE_NLS@
1124c8945a0SNathan Whitehorninstall-data-no: all
1134c8945a0SNathan Whitehorninstall-data-yes: all
114*7a1c0d96SNathan Whitehorn	@mkdir -p $(DESTDIR)$(datadir); \
115*7a1c0d96SNathan Whitehorn	catalogs='$(CATALOGS)'; \
1164c8945a0SNathan Whitehorn	for cat in $$catalogs; do \
1174c8945a0SNathan Whitehorn	  cat=`basename $$cat`; \
1184c8945a0SNathan Whitehorn	  case "$$cat" in \
1194c8945a0SNathan Whitehorn	    *.gmo) destdir=$(gnulocaledir);; \
1204c8945a0SNathan Whitehorn	    *)     destdir=$(localedir);; \
1214c8945a0SNathan Whitehorn	  esac; \
1224c8945a0SNathan Whitehorn	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
1234c8945a0SNathan Whitehorn	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
1244c8945a0SNathan Whitehorn	  mkdir -p $$dir; \
1254c8945a0SNathan Whitehorn	  if test -r $$cat; then \
126*7a1c0d96SNathan Whitehorn	    $(INSTALL_DATA) $$cat $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
127*7a1c0d96SNathan Whitehorn	    echo "installing $$cat as $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT)"; \
1284c8945a0SNathan Whitehorn	  else \
129*7a1c0d96SNathan Whitehorn	    $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
1304c8945a0SNathan Whitehorn	    echo "installing $(srcdir)/$$cat as" \
131*7a1c0d96SNathan Whitehorn		 "$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT)"; \
1324c8945a0SNathan Whitehorn	  fi; \
1334c8945a0SNathan Whitehorn	  if test -r $$cat.m; then \
134*7a1c0d96SNathan Whitehorn	    $(INSTALL_DATA) $$cat.m $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
135*7a1c0d96SNathan Whitehorn	    echo "installing $$cat.m as $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m"; \
1364c8945a0SNathan Whitehorn	  else \
1374c8945a0SNathan Whitehorn	    if test -r $(srcdir)/$$cat.m ; then \
1384c8945a0SNathan Whitehorn	      $(INSTALL_DATA) $(srcdir)/$$cat.m \
139*7a1c0d96SNathan Whitehorn		$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
1404c8945a0SNathan Whitehorn	      echo "installing $(srcdir)/$$cat as" \
141*7a1c0d96SNathan Whitehorn		   "$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m"; \
1424c8945a0SNathan Whitehorn	    else \
1434c8945a0SNathan Whitehorn	      true; \
1444c8945a0SNathan Whitehorn	    fi; \
1454c8945a0SNathan Whitehorn	  fi; \
1464c8945a0SNathan Whitehorn	done
147*7a1c0d96SNathan Whitehorn	if test "$(NLS_TEXTDOMAIN)" = "gettext"; then \
1484c8945a0SNathan Whitehorn	  mkdir -p $(DESTDIR)$(gettextsrcdir); \
1494c8945a0SNathan Whitehorn	  $(INSTALL_DATA) $(srcdir)/makefile.inn \
1504c8945a0SNathan Whitehorn			  $(DESTDIR)$(gettextsrcdir)/makefile.inn; \
1514c8945a0SNathan Whitehorn	else \
1524c8945a0SNathan Whitehorn	  : ; \
1534c8945a0SNathan Whitehorn	fi
1544c8945a0SNathan Whitehorn
1554c8945a0SNathan Whitehorn# Define this as empty until I find a useful application.
1564c8945a0SNathan Whitehorninstallcheck:
1574c8945a0SNathan Whitehorn
1584c8945a0SNathan Whitehornuninstall:
1594c8945a0SNathan Whitehorn	catalogs='$(CATALOGS)'; \
1604c8945a0SNathan Whitehorn	for cat in $$catalogs; do \
1614c8945a0SNathan Whitehorn	  cat=`basename $$cat`; \
1624c8945a0SNathan Whitehorn	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
163*7a1c0d96SNathan Whitehorn	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
164*7a1c0d96SNathan Whitehorn	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
165*7a1c0d96SNathan Whitehorn	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
166*7a1c0d96SNathan Whitehorn	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
1674c8945a0SNathan Whitehorn	done
1684c8945a0SNathan Whitehorn	rm -f $(gettextsrcdir)/po-makefile.inn
1694c8945a0SNathan Whitehorn
1704c8945a0SNathan Whitehorncheck: all
1714c8945a0SNathan Whitehorn
1724c8945a0SNathan Whitehorncat-id-tbl.o: ../intl/libgettext.h
1734c8945a0SNathan Whitehorn
1744c8945a0SNathan Whitehorndvi info tags TAGS ID:
1754c8945a0SNathan Whitehorn
1764c8945a0SNathan Whitehornmostlyclean:
1774c8945a0SNathan Whitehorn	rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
1784c8945a0SNathan Whitehorn	rm -fr *.o
1794c8945a0SNathan Whitehorn
1804c8945a0SNathan Whitehornclean: mostlyclean
1814c8945a0SNathan Whitehorn
1824c8945a0SNathan Whitehorndistclean: clean
1834c8945a0SNathan Whitehorn	rm -f cat-id-tbl.c stamp-cat-id *.gmo
1844c8945a0SNathan Whitehorn	rm -f makefile makefile.in POTFILES *.mo *.msg *.cat *.cat.m
1854c8945a0SNathan Whitehorn
1864c8945a0SNathan Whitehornmaintainer-clean: distclean
1874c8945a0SNathan Whitehorn	@echo "This command is intended for maintainers to use;"
1884c8945a0SNathan Whitehorn	@echo "it deletes files that may require special tools to rebuild."
1894c8945a0SNathan Whitehorn	rm -f $(GMOFILES)
1904c8945a0SNathan Whitehorn
1914c8945a0SNathan Whitehorndistdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
1924c8945a0SNathan Whitehorndist distdir: update-po $(DISTFILES)
1934c8945a0SNathan Whitehorn	dists="$(DISTFILES)"; \
1944c8945a0SNathan Whitehorn	for file in $$dists; do \
1954c8945a0SNathan Whitehorn	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
1964c8945a0SNathan Whitehorn	    || cp -p $(srcdir)/$$file $(distdir); \
1974c8945a0SNathan Whitehorn	done
1984c8945a0SNathan Whitehorn
1994c8945a0SNathan Whitehorn# GNU msgfmt -C option can also check for X/Open compat.
2004c8945a0SNathan Whitehorncheck-po:
2014c8945a0SNathan Whitehorn	cd $(srcdir); \
2024c8945a0SNathan Whitehorn	catalogs='$(CATALOGS)'; \
2034c8945a0SNathan Whitehorn	for cat in $$catalogs; do \
2044c8945a0SNathan Whitehorn	  cat=`basename $$cat`; \
2054c8945a0SNathan Whitehorn	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
2064c8945a0SNathan Whitehorn	  echo "$$lang:"; \
2074c8945a0SNathan Whitehorn	  $(MSGFMT) -f -c -v $$lang.po; \
2084c8945a0SNathan Whitehorn	done
2094c8945a0SNathan Whitehorn
2104c8945a0SNathan Whitehornupdate-po: makefile
2114c8945a0SNathan Whitehorn	$(MAKE) $(PACKAGE).pot
2124c8945a0SNathan Whitehorn	PATH=`pwd`/../src:$$PATH; \
2134c8945a0SNathan Whitehorn	cd $(srcdir); \
2144c8945a0SNathan Whitehorn	catalogs='$(CATALOGS)'; \
2154c8945a0SNathan Whitehorn	for cat in $$catalogs; do \
2164c8945a0SNathan Whitehorn	  cat=`basename $$cat`; \
2174c8945a0SNathan Whitehorn	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
2184c8945a0SNathan Whitehorn	  mv $$lang.po $$lang.old.po; \
2194c8945a0SNathan Whitehorn	  echo "$$lang:"; \
2204c8945a0SNathan Whitehorn	  if $(MSGMERGE) -w 132 $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
2214c8945a0SNathan Whitehorn	    rm -f $$lang.old.po; \
2224c8945a0SNathan Whitehorn	  else \
2234c8945a0SNathan Whitehorn	    echo "msgmerge for $$cat failed!"; \
2244c8945a0SNathan Whitehorn	    rm -f $$lang.po; \
2254c8945a0SNathan Whitehorn	    mv $$lang.old.po $$lang.po; \
2264c8945a0SNathan Whitehorn	  fi; \
2274c8945a0SNathan Whitehorn	done
2284c8945a0SNathan Whitehorn
2294c8945a0SNathan WhitehornPOTFILES: POTFILES.in
2304c8945a0SNathan Whitehorn	( if test 'x$(srcdir)' != 'x.'; then \
2314c8945a0SNathan Whitehorn	    posrcprefix='$(top_srcdir)/'; \
2324c8945a0SNathan Whitehorn	  else \
2334c8945a0SNathan Whitehorn	    posrcprefix="../"; \
2344c8945a0SNathan Whitehorn	  fi; \
2354c8945a0SNathan Whitehorn	  rm -f $@-t $@ \
2364c8945a0SNathan Whitehorn	    && (sed -e '/^#/d' -e '/^[ 	]*$$/d' \
2374c8945a0SNathan Whitehorn		    -e "s@.*@	$$posrcprefix& \\\\@" < $(srcdir)/$@.in \
2384c8945a0SNathan Whitehorn		| sed -e '$$s/\\$$//') > $@-t \
2394c8945a0SNathan Whitehorn	    && chmod a-w $@-t \
2404c8945a0SNathan Whitehorn	    && mv $@-t $@ )
2414c8945a0SNathan Whitehorn
2424c8945a0SNathan Whitehornmakefile: makefile.inn ../config.status POTFILES
2434c8945a0SNathan Whitehorn	cd .. \
2444c8945a0SNathan Whitehorn	  && CONFIG_FILES=$(subdir)/$@.in:$(subdir)/$@.inn CONFIG_HEADERS= \
2454c8945a0SNathan Whitehorn	       $(SHELL) ./config.status
2464c8945a0SNathan Whitehorn
2474c8945a0SNathan Whitehorn# Tell versions [3.59,3.63) of GNU make not to export all variables.
2484c8945a0SNathan Whitehorn# Otherwise a system limit (for SysV at least) may be exceeded.
2494c8945a0SNathan Whitehorn.NOEXPORT:
250