1# Makefile for program source directory in GNU NLS utilities package. 2# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> 3# 4# This file file be copied and used freely without restrictions. It can 5# be used in projects which are not available under the GNU Public License 6# but which still want to provide support for the GNU gettext functionality. 7# Please note that the actual code is *not* freely available. 8# 9# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE 10# instead of PACKAGE and to look for po2tbl in ./ not in intl/ 11# 12# - Modified by jacob berkman <jacob@ximian.com> to install 13# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize 14 15GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ 16PACKAGE = @PACKAGE@ 17VERSION = @VERSION@ 18 19SHELL = /bin/sh 20@SET_MAKE@ 21 22srcdir = @srcdir@ 23top_srcdir = @top_srcdir@ 24top_builddir = .. 25VPATH = @srcdir@ 26 27prefix = @prefix@ 28exec_prefix = @exec_prefix@ 29datadir = @datadir@ 30libdir = @libdir@ 31localedir = $(libdir)/locale 32gnulocaledir = $(datadir)/locale 33gettextsrcdir = $(datadir)/glib-2.0/gettext/po 34subdir = po 35install_sh = @install_sh@ 36mkdir_p = @mkdir_p@ 37mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 38 39INSTALL = @INSTALL@ 40INSTALL_DATA = @INSTALL_DATA@ 41 42CC = @CC@ 43GENCAT = @GENCAT@ 44GMSGFMT = @GMSGFMT@ 45MSGFMT = @MSGFMT@ 46XGETTEXT = @XGETTEXT@ 47INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ 48INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ 49MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist 50GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot 51 52DEFS = @DEFS@ 53CFLAGS = @CFLAGS@ 54CPPFLAGS = @CPPFLAGS@ 55 56INCLUDES = -I.. -I$(top_srcdir)/intl 57 58COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) 59 60SOURCES = 61POFILES = @POFILES@ 62GMOFILES = @GMOFILES@ 63DISTFILES = ChangeLog Makefile.in.in POTFILES.in \ 64$(POFILES) $(GMOFILES) $(SOURCES) 65 66POTFILES = \ 67 68CATALOGS = @CATALOGS@ 69CATOBJEXT = @CATOBJEXT@ 70INSTOBJEXT = @INSTOBJEXT@ 71 72.SUFFIXES: 73.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat 74 75.c.o: 76 $(COMPILE) $< 77 78.po.pox: 79 $(MAKE) $(GETTEXT_PACKAGE).pot 80 $(MSGMERGE) $< $(top_builddir)/po/$(GETTEXT_PACKAGE).pot -o $*pox 81 82.po.mo: 83 $(MSGFMT) -o $@ $< 84 85.po.gmo: 86 file=`echo $* | sed 's,.*/,,'`.gmo \ 87 && rm -f $$file && $(GMSGFMT) -o $$file $< 88 89.po.cat: 90 sed -f ../intl/po2msg.sed < $< > $*.msg \ 91 && rm -f $@ && $(GENCAT) $@ $*.msg 92 93 94all: all-@USE_NLS@ 95 96all-yes: $(CATALOGS) 97all-no: 98 99$(GETTEXT_PACKAGE).pot: $(POTFILES) 100 $(GENPOT) 101 102install: install-exec install-data 103install-exec: 104install-data: install-data-@USE_NLS@ 105install-data-no: all 106install-data-yes: all 107 if test -n "$(MKINSTALLDIRS)"; then \ 108 $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ 109 else \ 110 $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ 111 fi 112 @catalogs='$(CATALOGS)'; \ 113 for cat in $$catalogs; do \ 114 cat=`basename $$cat`; \ 115 case "$$cat" in \ 116 *.gmo) destdir=$(gnulocaledir);; \ 117 *) destdir=$(localedir);; \ 118 esac; \ 119 lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ 120 dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ 121 if test -n "$(MKINSTALLDIRS)"; then \ 122 $(MKINSTALLDIRS) $$dir; \ 123 else \ 124 $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ 125 fi; \ 126 if test -r $$cat; then \ 127 $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ 128 echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ 129 else \ 130 $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ 131 echo "installing $(srcdir)/$$cat as" \ 132 "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ 133 fi; \ 134 if test -r $$cat.m; then \ 135 $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ 136 echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ 137 else \ 138 if test -r $(srcdir)/$$cat.m ; then \ 139 $(INSTALL_DATA) $(srcdir)/$$cat.m \ 140 $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ 141 echo "installing $(srcdir)/$$cat as" \ 142 "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ 143 else \ 144 true; \ 145 fi; \ 146 fi; \ 147 done 148 if test "$(PACKAGE)" = "glib"; then \ 149 if test -n "$(MKINSTALLDIRS)"; then \ 150 $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ 151 else \ 152 $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ 153 fi; \ 154 $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ 155 $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ 156 else \ 157 : ; \ 158 fi 159 160# Define this as empty until I found a useful application. 161installcheck: 162 163uninstall: 164 catalogs='$(CATALOGS)'; \ 165 for cat in $$catalogs; do \ 166 cat=`basename $$cat`; \ 167 lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ 168 rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ 169 rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ 170 rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ 171 rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ 172 done 173 if test "$(PACKAGE)" = "glib"; then \ 174 rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ 175 fi 176 177check: all 178 179dvi info tags TAGS ID: 180 181mostlyclean: 182 rm -f core core.* *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp 183 rm -fr *.o 184 rm -f .intltool-merge-cache 185 186clean: mostlyclean 187 188distclean: clean 189 rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m 190 191maintainer-clean: distclean 192 @echo "This command is intended for maintainers to use;" 193 @echo "it deletes files that may require special tools to rebuild." 194 rm -f $(GMOFILES) 195 196distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) 197dist distdir: $(DISTFILES) $(GETTEXT_PACKAGE).pot 198 dists="$(DISTFILES)"; \ 199 for file in $$dists; do \ 200 ln $(srcdir)/$$file $(distdir) 2> /dev/null \ 201 || cp -p $(srcdir)/$$file $(distdir); \ 202 done 203 204update-po: Makefile 205 $(MAKE) $(GETTEXT_PACKAGE).pot 206 tmpdir=`pwd`; \ 207 catalogs='$(CATALOGS)'; \ 208 for cat in $$catalogs; do \ 209 cat=`basename $$cat`; \ 210 lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ 211 echo "$$lang:"; \ 212 result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ 213 if $$result; then \ 214 if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ 215 rm -f $$tmpdir/$$lang.new.po; \ 216 else \ 217 if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ 218 :; \ 219 else \ 220 echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ 221 rm -f $$tmpdir/$$lang.new.po; \ 222 exit 1; \ 223 fi; \ 224 fi; \ 225 else \ 226 echo "msgmerge for $$cat failed!"; \ 227 rm -f $$tmpdir/$$lang.new.po; \ 228 fi; \ 229 done 230 231# POTFILES is created from POTFILES.in by stripping comments, empty lines 232# and Intltool tags (enclosed in square brackets), and appending a full 233# relative path to them 234POTFILES: POTFILES.in 235 ( if test 'x$(srcdir)' != 'x.'; then \ 236 posrcprefix='$(top_srcdir)/'; \ 237 else \ 238 posrcprefix="../"; \ 239 fi; \ 240 rm -f $@-t $@ \ 241 && (sed -e '/^#/d' \ 242 -e "s/^\[.*\] +//" \ 243 -e '/^[ ]*$$/d' \ 244 -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ 245 | sed -e '$$s/\\$$//') > $@-t \ 246 && chmod a-w $@-t \ 247 && mv $@-t $@ ) 248 249Makefile: Makefile.in.in ../config.status POTFILES 250 cd .. \ 251 && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ 252 $(SHELL) ./config.status 253 254# Tell versions [3.59,3.63) of GNU make not to export all variables. 255# Otherwise a system limit (for SysV at least) may be exceeded. 256.NOEXPORT: 257