Makefile.in.in revision 1.5
1# Makefile for program source directory in GNU NLS utilities package. 2# Copyright (C) 1995, 1996 Free Software Foundation, Inc. 3# 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation; either version 2, or (at your option) 7# any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program; if not, write to the Free Software 16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18PACKAGE = @PACKAGE@ 19VERSION = @VERSION@ 20 21SHELL = /bin/sh 22@SET_MAKE@ 23 24srcdir = @srcdir@ 25top_srcdir = @top_srcdir@ 26VPATH = @srcdir@ 27 28prefix = @prefix@ 29exec_prefix = @exec_prefix@ 30datadir = $(prefix)/@DATADIRNAME@ 31localedir = $(datadir)/locale 32gnulocaledir = $(prefix)/share/locale 33gettextsrcdir = $(prefix)/share/gettext/po 34subdir = po 35 36INSTALL = @INSTALL@ 37INSTALL_DATA = @INSTALL_DATA@ 38MKINSTALLDIRS = @MKINSTALLDIRS@ 39 40CC = @CC@ 41GENCAT = @GENCAT@ 42GMSGFMT = PATH=../src:$$PATH @GMSGFMT@ 43MSGFMT = @MSGFMT@ 44XGETTEXT = PATH=../src:$$PATH @XGETTEXT@ 45MSGMERGE = PATH=../src:$$PATH msgmerge 46 47DEFS = @DEFS@ 48CFLAGS = @CFLAGS@ 49CPPFLAGS = @CPPFLAGS@ 50 51INCLUDES = -I.. -I$(top_srcdir)/intl 52 53COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) 54 55SOURCES = cat-id-tbl.c 56POFILES = @POFILES@ 57GMOFILES = @GMOFILES@ 58DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \ 59stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) 60 61POTFILES = \ 62 63CATALOGS = @CATALOGS@ 64CATOBJEXT = @CATOBJEXT@ 65INSTOBJEXT = @INSTOBJEXT@ 66 67.SUFFIXES: 68.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat 69 70.c.o: 71 $(COMPILE) $< 72 73.po.pox: 74 $(MAKE) $(PACKAGE).pot 75 $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox 76 77.po.mo: 78 $(MSGFMT) -o $@ $< 79 80#.po.gmo: 81# file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ 82# && rm -f $$file && $(GMSGFMT) -o $$file $< 83 84.po.cat: 85 sed -f ../intl/po2msg.sed < $< > $*.msg \ 86 && rm -f $@ && $(GENCAT) $@ $*.msg 87 88 89all: all-@USE_NLS@ 90 91all-yes: cat-id-tbl.c $(CATALOGS) 92all-no: 93 94$(srcdir)/$(PACKAGE).pot: $(POTFILES) 95 $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ 96 --add-comments --keyword=_ --keyword=N_ \ 97 --files-from=$(srcdir)/POTFILES.in 98 if [ ! -s $(PACKAGE).po ] \ 99 || cmp -s $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; then \ 100 rm -f $(PACKAGE).po; \ 101 else \ 102 rm -f $(srcdir)/$(PACKAGE).pot \ 103 && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; \ 104 fi 105 106$(srcdir)/cat-id-tbl.c: stamp-cat-id 107$(srcdir)/stamp-cat-id: $(PACKAGE).pot 108 rm -f cat-id-tbl.tmp 109 sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ 110 | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp 111 if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ 112 rm cat-id-tbl.tmp; \ 113 else \ 114 echo cat-id-tbl.c changed; \ 115 rm -f $(srcdir)/cat-id-tbl.c; \ 116 mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ 117 fi 118 cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id 119 120 121install: install-exec install-data 122install-exec: 123install-data: install-data-@USE_NLS@ 124install-data-no: all 125install-data-yes: all 126 $(MKINSTALLDIRS) $(datadir) 127 @catalogs='$(CATALOGS)'; \ 128 for cat in $$catalogs; do \ 129 cat=`basename $$cat`; \ 130 case "$$cat" in \ 131 *.gmo) destdir=$(gnulocaledir);; \ 132 *) destdir=$(localedir);; \ 133 esac; \ 134 lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \ 135 dir=$$destdir/$$lang/LC_MESSAGES; \ 136 $(MKINSTALLDIRS) $$dir; \ 137 if test -r $$cat; then \ 138 $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ 139 echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \ 140 else \ 141 $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ 142 echo "installing $(srcdir)/$$cat as" \ 143 "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \ 144 fi; \ 145 if test -r $$cat.m; then \ 146 $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ 147 echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ 148 else \ 149 if test -r $(srcdir)/$$cat.m ; then \ 150 $(INSTALL_DATA) $(srcdir)/$$cat.m \ 151 $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ 152 echo "installing $(srcdir)/$$cat as" \ 153 "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ 154 else \ 155 true; \ 156 fi; \ 157 fi; \ 158 done 159 if test "$(PACKAGE)" = "gettext"; then \ 160 $(MKINSTALLDIRS) $(gettextsrcdir); \ 161 cd $(srcdir) && \ 162 $(INSTALL_DATA) Makefile.in.in $(gettextsrcdir)/Makefile.in.in; \ 163 else \ 164 : ; \ 165 fi 166 167# Define this as empty until I found a useful application. 168installcheck: 169 170uninstall: 171 catalogs='$(CATALOGS)'; \ 172 for cat in $$catalogs; do \ 173 lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \ 174 rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ 175 rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ 176 rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ 177 rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ 178 done 179 rm -f $(gettextsrcdir)/po-Makefile.in.in 180 181check: all 182 183cat-id-tbl.o: ../intl/libgettext.h 184 185dvi info tags TAGS ID: 186 187mostlyclean: 188 rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp 189 rm -fr *.o 190 191clean: mostlyclean 192 193distclean: clean 194 rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m 195 196maintainer-clean: distclean 197 @echo "This command is intended for maintainers to use;" 198 @echo "it deletes files that may require special tools to rebuild." 199 200distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) 201dist distdir: update-po $(DISTFILES) 202 dists="$(DISTFILES)"; \ 203 for file in $$dists; do \ 204 ln $(srcdir)/$$file $(distdir) 2> /dev/null \ 205 || cp -p $(srcdir)/$$file $(distdir); \ 206 done 207 208update-po: Makefile 209 $(MAKE) $(PACKAGE).pot 210 PATH=`pwd`/../src:$$PATH; \ 211 cd $(srcdir); \ 212 catalogs='$(CATALOGS)'; \ 213 for cat in $$catalogs; do \ 214 lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \ 215 mv $$lang.po $$lang.old.po; \ 216 echo "$$lang:"; \ 217 if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ 218 rm -f $$lang.old.po; \ 219 else \ 220 echo "msgmerge for $$cat failed!"; \ 221 rm -f $$lang.po; \ 222 mv $$lang.old.po $$lang.po; \ 223 fi; \ 224 done 225 226POTFILES: POTFILES.in 227 ( if test 'x$(srcdir)' != 'x.'; then \ 228 posrcprefix='$(top_srcdir)/'; \ 229 else \ 230 posrcprefix="../"; \ 231 fi; \ 232 sed -e '/^#/d' -e '/^[ ]*$$/d' \ 233 -e "s@.*@ $$posrcprefix& \\\\@" \ 234 -e '$$s/\(.*\) \\/\1/' < $(srcdir)/POTFILES.in > POTFILES ) 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