1# Makefile for directory with message catalog handling in GNU NLS Utilities. 2# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc. 3# 4# This program is free software; you can redistribute it and/or modify it 5# under the terms of the GNU Library General Public License as published 6# by 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 GNU 12# Library General Public License for more details. 13# 14# You should have received a copy of the GNU Library General Public 15# License along with this program; if not, write to the Free Software 16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 17# USA. 18 19PACKAGE = @PACKAGE@ 20VERSION = @VERSION@ 21 22SHELL = /bin/sh 23 24srcdir = @srcdir@ 25top_srcdir = @top_srcdir@ 26top_builddir = .. 27VPATH = @srcdir@ 28 29prefix = @prefix@ 30exec_prefix = @exec_prefix@ 31transform = @program_transform_name@ 32libdir = @libdir@ 33includedir = @includedir@ 34datarootdir = @datarootdir@ 35datadir = @datadir@ 36localedir = $(datadir)/locale 37gettextsrcdir = $(datadir)/gettext/intl 38aliaspath = $(localedir) 39subdir = intl 40 41INSTALL = @INSTALL@ 42INSTALL_DATA = @INSTALL_DATA@ 43mkinstalldirs = mkdir -p 44 45l = @INTL_LIBTOOL_SUFFIX_PREFIX@ 46 47ARCHIVE = @AR@ @ARFLAGS@ 48CC = @CC@ 49LIBTOOL = @LIBTOOL@ 50RANLIB = @RANLIB@ 51YACC = @INTLBISON@ -y -d 52YFLAGS = -p __gettext 53 54x = @EXEEXT@ 55o = .@OBJEXT@ 56 57DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ 58-DLIBDIR=\"$(libdir)\" @DEFS@ 59CPPFLAGS = @CPPFLAGS@ 60CFLAGS = @CFLAGS@ 61LDFLAGS = @LDFLAGS@ 62 63COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) 64 65HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h 66COMHDRS = gettext.h gettextP.h hash-string.h 67SOURCES = $(COMSRCS) intl-compat.c 68COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \ 69finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \ 70explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \ 71localcharset.c 72OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \ 73finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \ 74explodename.$lo dcigettext.$lo dcngettext.$lo dngettext.$lo ngettext.$lo \ 75plural.$lo localcharset.$lo 76GETTOBJS = intl-compat.$lo 77DISTFILES.common = Makefile.in \ 78config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) 79DISTFILES.generated = plural.c 80DISTFILES.normal = VERSION 81DISTFILES.gettext = COPYING.LIB-2 COPYING.LIB-2.1 libintl.glibc 82DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c 83 84# Libtool's library version information for libintl. 85# Before making a gettext release, the gettext maintainer must change this 86# according to the libtool documentation, section "Library interface versions". 87# Maintainers of other packages that include the intl directory must *not* 88# change these values. 89LTV_CURRENT=1 90LTV_REVISION=1 91LTV_AGE=0 92 93.SUFFIXES: 94.SUFFIXES: .c .y $o .lo .sin .sed 95.c$o: 96 $(COMPILE) $< 97.c.lo: 98 $(LIBTOOL) --mode=compile $(COMPILE) $< 99 100.y.c: 101 $(YACC) $(YFLAGS) -o $@ $< 102 rm -f $*.h 103 104.sin.sed: 105 sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ 106 mv t-$@ $@ 107 108INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I../include 109 110all: all-@USE_INCLUDED_LIBINTL@ 111all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed 112all-no: all-no-@BUILD_INCLUDED_LIBINTL@ 113all-no-yes: libgnuintl.$la 114all-no-no: 115 116libintl.a libgnuintl.a: $(OBJECTS) 117 rm -f $@ 118 $(ARCHIVE) $@ $(OBJECTS) 119 $(RANLIB) $@ 120 121libintl.la libgnuintl.la: $(OBJECTS) 122 $(LIBTOOL) --mode=link \ 123 $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ 124 $(OBJECTS) @LIBICONV@ \ 125 -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ 126 -rpath $(libdir) \ 127 -no-undefined 128 129libintl.h: libgnuintl.h 130 cp $(srcdir)/libgnuintl.h libintl.h 131 132charset.alias: config.charset 133 $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ 134 mv t-$@ $@ 135 136check: all 137 138# This installation goal is only used in GNU gettext. Packages which 139# only use the library should use install instead. 140 141# We must not install the libintl.h/libintl.a files if we are on a 142# system which has the GNU gettext() function in its C library or in a 143# separate library. 144# If you want to use the one which comes with this version of the 145# package, you have to use `configure --with-included-gettext'. 146install: install-exec install-data 147install-exec: all 148 if test "$(PACKAGE)" = "gettext" \ 149 && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ 150 $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ 151 $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ 152 $(LIBTOOL) --mode=install \ 153 $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ 154 else \ 155 : ; \ 156 fi 157 if test '@USE_INCLUDED_LIBINTL@' = yes; then \ 158 $(mkinstalldirs) $(DESTDIR)$(libdir); \ 159 temp=$(DESTDIR)$(libdir)/t-charset.alias; \ 160 dest=$(DESTDIR)$(libdir)/charset.alias; \ 161 if test -f $(DESTDIR)$(libdir)/charset.alias; then \ 162 orig=$(DESTDIR)$(libdir)/charset.alias; \ 163 sed -f ref-add.sed $$orig > $$temp; \ 164 $(INSTALL_DATA) $$temp $$dest; \ 165 rm -f $$temp; \ 166 else \ 167 if test @GLIBC21@ = no; then \ 168 orig=charset.alias; \ 169 sed -f ref-add.sed $$orig > $$temp; \ 170 $(INSTALL_DATA) $$temp $$dest; \ 171 rm -f $$temp; \ 172 fi; \ 173 fi; \ 174 $(mkinstalldirs) $(DESTDIR)$(localedir); \ 175 test -f $(DESTDIR)$(localedir)/locale.alias \ 176 && orig=$(DESTDIR)$(localedir)/locale.alias \ 177 || orig=$(srcdir)/locale.alias; \ 178 temp=$(DESTDIR)$(localedir)/t-locale.alias; \ 179 dest=$(DESTDIR)$(localedir)/locale.alias; \ 180 sed -f ref-add.sed $$orig > $$temp; \ 181 $(INSTALL_DATA) $$temp $$dest; \ 182 rm -f $$temp; \ 183 else \ 184 : ; \ 185 fi 186install-data: all 187 if test "$(PACKAGE)" = "gettext"; then \ 188 $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ 189 $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ 190 $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ 191 dists="COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common)"; \ 192 for file in $$dists; do \ 193 $(INSTALL_DATA) $(srcdir)/$$file \ 194 $(DESTDIR)$(gettextsrcdir)/$$file; \ 195 done; \ 196 chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ 197 dists="$(DISTFILES.generated)"; \ 198 for file in $$dists; do \ 199 if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ 200 $(INSTALL_DATA) $$dir/$$file \ 201 $(DESTDIR)$(gettextsrcdir)/$$file; \ 202 done; \ 203 dists="$(DISTFILES.obsolete)"; \ 204 for file in $$dists; do \ 205 rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ 206 done; \ 207 else \ 208 : ; \ 209 fi 210 211# Define this as empty until I found a useful application. 212installcheck: 213 214uninstall: 215 if test "$(PACKAGE)" = "gettext" \ 216 && test '@INTLOBJS@' = '$(GETTOBJS)'; then \ 217 rm -f $(DESTDIR)$(includedir)/libintl.h; \ 218 $(LIBTOOL) --mode=uninstall \ 219 rm -f $(DESTDIR)$(libdir)/libintl.$la; \ 220 else \ 221 : ; \ 222 fi 223 if test '@USE_INCLUDED_LIBINTL@' = yes; then \ 224 if test -f $(DESTDIR)$(libdir)/charset.alias; then \ 225 temp=$(DESTDIR)$(libdir)/t-charset.alias; \ 226 dest=$(DESTDIR)$(libdir)/charset.alias; \ 227 sed -f ref-del.sed $$dest > $$temp; \ 228 if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ 229 rm -f $$dest; \ 230 else \ 231 $(INSTALL_DATA) $$temp $$dest; \ 232 fi; \ 233 rm -f $$temp; \ 234 fi; \ 235 if test -f $(DESTDIR)$(localedir)/locale.alias; then \ 236 temp=$(DESTDIR)$(localedir)/t-locale.alias; \ 237 dest=$(DESTDIR)$(localedir)/locale.alias; \ 238 sed -f ref-del.sed $$dest > $$temp; \ 239 if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ 240 rm -f $$dest; \ 241 else \ 242 $(INSTALL_DATA) $$temp $$dest; \ 243 fi; \ 244 rm -f $$temp; \ 245 fi; \ 246 else \ 247 : ; \ 248 fi 249 if test "$(PACKAGE)" = "gettext"; then \ 250 for file in VERSION ChangeLog COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ 251 rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ 252 done; \ 253 else \ 254 : ; \ 255 fi 256 257info dvi: 258 259$(OBJECTS): ../include/autoconf.h libgnuintl.h 260bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h 261dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h 262 263tags: TAGS 264 265TAGS: $(HEADERS) $(SOURCES) 266 here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) 267 268id: ID 269 270ID: $(HEADERS) $(SOURCES) 271 here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) 272 273 274mostlyclean: 275 rm -f *.a *.la *$o *.lo core core.* 276 rm -f libintl.h charset.alias ref-add.sed ref-del.sed 277 rm -f -r .libs _libs 278 279clean: mostlyclean 280 281distclean: clean 282 rm -f Makefile ID TAGS 283 if test "$(PACKAGE)" = gettext; then \ 284 rm -f ChangeLog.inst $(DISTFILES.normal); \ 285 else \ 286 : ; \ 287 fi 288 289maintainer-clean: distclean 290 @echo "This command is intended for maintainers to use;" 291 @echo "it deletes files that may require special tools to rebuild." 292 293 294# GNU gettext needs not contain the file `VERSION' but contains some 295# other files which should not be distributed in other packages. 296distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) 297dist distdir: Makefile 298 if test "$(PACKAGE)" = gettext; then \ 299 additional="$(DISTFILES.gettext)"; \ 300 else \ 301 additional="$(DISTFILES.normal)"; \ 302 fi; \ 303 $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ 304 for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ 305 if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ 306 ln $$dir/$$file $(distdir) 2> /dev/null \ 307 || cp -p $$dir/$$file $(distdir); \ 308 done 309 310Makefile: Makefile.in ../config.status 311 cd .. \ 312 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status 313 314# Tell versions [3.59,3.63) of GNU make not to export all variables. 315# Otherwise a system limit (for SysV at least) may be exceeded. 316.NOEXPORT: 317