1# Makefile for directory with message catalog handling library of GNU gettext 2# Copyright (C) 1995-1998, 2000-2003 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_NAME@ 20VERSION = @PACKAGE_VERSION@ 21 22SHELL = /bin/sh 23 24srcdir = @srcdir@ 25top_srcdir = @top_srcdir@ 26top_builddir = @BUILD_DIR@ 27VPATH = $(srcdir) 28 29prefix = @prefix@ 30exec_prefix = @exec_prefix@ 31transform = @program_transform_name@ 32libdir = @libdir@ 33includedir = @includedir@ 34datadir = @datadir@ 35localedir = $(datadir)/locale 36gettextsrcdir = $(datadir)/gettext/intl 37aliaspath = $(localedir) 38subdir = intl 39 40INSTALL = @INSTALL@ 41INSTALL_DATA = @INSTALL_DATA@ 42MKINSTALLDIRS = @MKINSTALLDIRS@ 43mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) 44 45l = @INTL_LIBTOOL_SUFFIX_PREFIX@ 46 47AR = ar 48CC = @CC@ 49LIBTOOL = @LIBTOOL@ 50RANLIB = @RANLIB@ 51YACC = @INTLBISON@ -y -d 52YFLAGS = --name-prefix=__gettext 53 54LOCAL_DEFS = @LOCAL_DEFS@ 55 56DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ 57-DLIBDIR=\"$(prefix)/libdata\" -DIN_LIBINTL \ 58-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ 59-Dset_relocation_prefix=libintl_set_relocation_prefix \ 60-Drelocate=libintl_relocate \ 61-DDEPENDS_ON_LIBICONV=1 @DEFS@ @LOCAL_DEFS@ 62CPPFLAGS = @CPPFLAGS@ 63CFLAGS = @CFLAGS@ 64LDFLAGS = @LDFLAGS@ 65LIBS = @LIBS@ 66 67COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) 68 69HEADERS = \ 70 gmo.h \ 71 gettextP.h \ 72 hash-string.h \ 73 loadinfo.h \ 74 plural-exp.h \ 75 eval-plural.h \ 76 localcharset.h \ 77 relocatable.h \ 78 os2compat.h \ 79 libgnuintl.h.in 80SOURCES = \ 81 bindtextdom.c \ 82 dcgettext.c \ 83 dgettext.c \ 84 gettext.c \ 85 finddomain.c \ 86 loadmsgcat.c \ 87 localealias.c \ 88 textdomain.c \ 89 l10nflist.c \ 90 explodename.c \ 91 dcigettext.c \ 92 dcngettext.c \ 93 dngettext.c \ 94 ngettext.c \ 95 plural.y \ 96 plural-exp.c \ 97 localcharset.c \ 98 relocatable.c \ 99 localename.c \ 100 log.c \ 101 osdep.c \ 102 os2compat.c \ 103 intl-compat.c 104OBJECTS = \ 105 bindtextdom.$lo \ 106 dcgettext.$lo \ 107 dgettext.$lo \ 108 gettext.$lo \ 109 finddomain.$lo \ 110 loadmsgcat.$lo \ 111 localealias.$lo \ 112 textdomain.$lo \ 113 l10nflist.$lo \ 114 explodename.$lo \ 115 dcigettext.$lo \ 116 dcngettext.$lo \ 117 dngettext.$lo \ 118 ngettext.$lo \ 119 plural.$lo \ 120 plural-exp.$lo \ 121 localcharset.$lo \ 122 relocatable.$lo \ 123 localename.$lo \ 124 log.$lo \ 125 osdep.$lo \ 126 intl-compat.$lo 127DISTFILES.common = Makefile.in \ 128config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) 129DISTFILES.generated = plural.c 130DISTFILES.normal = VERSION 131DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \ 132Makefile.vms libgnuintl.h.msvc-shared README.woe32 Makefile.msvc 133DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ 134COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h 135 136all: all-@USE_INCLUDED_LIBINTL@ 137all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed 138all-no: all-no-@BUILD_INCLUDED_LIBINTL@ 139all-no-yes: libgnuintl.$la 140all-no-no: 141 142libintl.a libgnuintl.a: $(OBJECTS) 143 rm -f $@ 144 $(AR) cru $@ $(OBJECTS) 145 $(RANLIB) $@ 146 147libintl.la libgnuintl.la: $(OBJECTS) 148 $(LIBTOOL) --mode=link \ 149 $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ 150 $(OBJECTS) @LTLIBICONV@ $(LIBS) \ 151 -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ 152 -rpath $(libdir) \ 153 -no-undefined 154 155# Libtool's library version information for libintl. 156# Before making a gettext release, the gettext maintainer must change this 157# according to the libtool documentation, section "Library interface versions". 158# Maintainers of other packages that include the intl directory must *not* 159# change these values. 160LTV_CURRENT=5 161LTV_REVISION=0 162LTV_AGE=3 163 164.SUFFIXES: 165.SUFFIXES: .c .y .o .lo .sin .sed 166 167.c.o: 168 $(COMPILE) $< 169 170.y.c: 171 $(YACC) $(YFLAGS) --output $@ $< 172 rm -f $*.h 173 174bindtextdom.lo: $(srcdir)/bindtextdom.c 175 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c 176dcgettext.lo: $(srcdir)/dcgettext.c 177 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c 178dgettext.lo: $(srcdir)/dgettext.c 179 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c 180gettext.lo: $(srcdir)/gettext.c 181 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c 182finddomain.lo: $(srcdir)/finddomain.c 183 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c 184loadmsgcat.lo: $(srcdir)/loadmsgcat.c 185 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c 186localealias.lo: $(srcdir)/localealias.c 187 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c 188textdomain.lo: $(srcdir)/textdomain.c 189 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c 190l10nflist.lo: $(srcdir)/l10nflist.c 191 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c 192explodename.lo: $(srcdir)/explodename.c 193 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c 194dcigettext.lo: $(srcdir)/dcigettext.c 195 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c 196dcngettext.lo: $(srcdir)/dcngettext.c 197 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c 198dngettext.lo: $(srcdir)/dngettext.c 199 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c 200ngettext.lo: $(srcdir)/ngettext.c 201 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c 202plural.lo: $(srcdir)/plural.c 203 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c 204plural-exp.lo: $(srcdir)/plural-exp.c 205 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c 206localcharset.lo: $(srcdir)/localcharset.c 207 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c 208relocatable.lo: $(srcdir)/relocatable.c 209 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c 210localename.lo: $(srcdir)/localename.c 211 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c 212log.lo: $(srcdir)/log.c 213 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c 214osdep.lo: $(srcdir)/osdep.c 215 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c 216intl-compat.lo: $(srcdir)/intl-compat.c 217 $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c 218 219ref-add.sed: $(srcdir)/ref-add.sin 220 sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed 221 mv t-ref-add.sed ref-add.sed 222ref-del.sed: $(srcdir)/ref-del.sin 223 sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed 224 mv t-ref-del.sed ref-del.sed 225 226INCLUDES = -I. -I$(srcdir) -I${top_builddir} -I${top_srcdir} 227 228libgnuintl.h: $(srcdir)/libgnuintl.h.in 229 cp $(srcdir)/libgnuintl.h.in libgnuintl.h 230 231libintl.h: libgnuintl.h 232 cp libgnuintl.h libintl.h 233 234charset.alias: $(srcdir)/config.charset 235 $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ 236 mv t-$@ $@ 237 238check: all 239 240# We must not install the libintl.h/libintl.a files if we are on a 241# system which has the GNU gettext() function in its C library or in a 242# separate library. 243# If you want to use the one which comes with this version of the 244# package, you have to use `configure --with-included-gettext'. 245install: install-exec install-data 246install-exec: all 247 if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ 248 && test '@USE_INCLUDED_LIBINTL@' = yes; then \ 249 $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ 250 $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ 251 $(LIBTOOL) --mode=install \ 252 $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ 253 if test "@RELOCATABLE@" = yes; then \ 254 dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ 255 if test -n "$dependencies"; then \ 256 rm -f $(DESTDIR)$(libdir)/libintl.la; \ 257 fi; \ 258 fi; \ 259 else \ 260 : ; \ 261 fi 262 if test "$(PACKAGE)" = "gettext-tools" \ 263 && test '@USE_INCLUDED_LIBINTL@' = no; then \ 264 $(mkinstalldirs) $(DESTDIR)$(libdir); \ 265 $(LIBTOOL) --mode=install \ 266 $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ 267 rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ 268 $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ 269 $(LIBTOOL) --mode=uninstall \ 270 rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ 271 else \ 272 : ; \ 273 fi 274 if test '@USE_INCLUDED_LIBINTL@' = yes; then \ 275 $(mkinstalldirs) $(DESTDIR)$(localedir); \ 276 test -f $(DESTDIR)$(localedir)/locale.alias \ 277 && orig=$(DESTDIR)$(localedir)/locale.alias \ 278 || orig=$(srcdir)/locale.alias; \ 279 temp=$(DESTDIR)$(localedir)/t-locale.alias; \ 280 dest=$(DESTDIR)$(localedir)/locale.alias; \ 281 sed -f ref-add.sed $$orig > $$temp; \ 282 $(INSTALL_DATA) $$temp $$dest; \ 283 rm -f $$temp; \ 284 else \ 285 : ; \ 286 fi 287install-data: all 288 if test "$(PACKAGE)" = "gettext-tools"; then \ 289 $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ 290 $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ 291 $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ 292 dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \ 293 for file in $$dists; do \ 294 $(INSTALL_DATA) $(srcdir)/$$file \ 295 $(DESTDIR)$(gettextsrcdir)/$$file; \ 296 done; \ 297 chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ 298 dists="$(DISTFILES.generated)"; \ 299 for file in $$dists; do \ 300 if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ 301 $(INSTALL_DATA) $$dir/$$file \ 302 $(DESTDIR)$(gettextsrcdir)/$$file; \ 303 done; \ 304 dists="$(DISTFILES.obsolete)"; \ 305 for file in $$dists; do \ 306 rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ 307 done; \ 308 else \ 309 : ; \ 310 fi 311 312install-strip: install 313 314installdirs: 315 if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ 316 && test '@USE_INCLUDED_LIBINTL@' = yes; then \ 317 $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ 318 else \ 319 : ; \ 320 fi 321 if test "$(PACKAGE)" = "gettext-tools" \ 322 && test '@USE_INCLUDED_LIBINTL@' = no; then \ 323 $(mkinstalldirs) $(DESTDIR)$(libdir); \ 324 else \ 325 : ; \ 326 fi 327 if test '@USE_INCLUDED_LIBINTL@' = yes; then \ 328 test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \ 329 $(mkinstalldirs) $(DESTDIR)$(localedir); \ 330 else \ 331 : ; \ 332 fi 333 if test "$(PACKAGE)" = "gettext-tools"; then \ 334 $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ 335 else \ 336 : ; \ 337 fi 338 339# Define this as empty until I found a useful application. 340installcheck: 341 342uninstall: 343 if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ 344 && test '@USE_INCLUDED_LIBINTL@' = yes; then \ 345 rm -f $(DESTDIR)$(includedir)/libintl.h; \ 346 $(LIBTOOL) --mode=uninstall \ 347 rm -f $(DESTDIR)$(libdir)/libintl.$la; \ 348 else \ 349 : ; \ 350 fi 351 if test "$(PACKAGE)" = "gettext-tools" \ 352 && test '@USE_INCLUDED_LIBINTL@' = no; then \ 353 rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ 354 else \ 355 : ; \ 356 fi 357 if test '@USE_INCLUDED_LIBINTL@' = yes; then \ 358 if test -f $(DESTDIR)$(prefix)/libdata/charset.alias; then \ 359 temp=$(DESTDIR)$(prefix)/libdata/t-charset.alias; \ 360 dest=$(DESTDIR)$(prefix)/libdata/charset.alias; \ 361 sed -f ref-del.sed $$dest > $$temp; \ 362 if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ 363 rm -f $$dest; \ 364 else \ 365 $(INSTALL_DATA) $$temp $$dest; \ 366 fi; \ 367 rm -f $$temp; \ 368 fi; \ 369 if test -f $(DESTDIR)$(localedir)/locale.alias; then \ 370 temp=$(DESTDIR)$(localedir)/t-locale.alias; \ 371 dest=$(DESTDIR)$(localedir)/locale.alias; \ 372 sed -f ref-del.sed $$dest > $$temp; \ 373 if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ 374 rm -f $$dest; \ 375 else \ 376 $(INSTALL_DATA) $$temp $$dest; \ 377 fi; \ 378 rm -f $$temp; \ 379 fi; \ 380 else \ 381 : ; \ 382 fi 383 if test "$(PACKAGE)" = "gettext-tools"; then \ 384 for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ 385 rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ 386 done; \ 387 else \ 388 : ; \ 389 fi 390 391info dvi ps pdf html: 392 393$(OBJECTS): ${top_builddir}/config.h libgnuintl.h 394bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h 395dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h 396explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h 397dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h 398dcigettext.$lo: $(srcdir)/eval-plural.h 399localcharset.$lo: $(srcdir)/localcharset.h 400localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h 401 402tags: TAGS 403 404TAGS: $(HEADERS) $(SOURCES) 405 here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) 406 407ctags: CTAGS 408 409CTAGS: $(HEADERS) $(SOURCES) 410 here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) 411 412id: ID 413 414ID: $(HEADERS) $(SOURCES) 415 here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) 416 417 418mostlyclean: 419 rm -f *.a *.la *.o *.obj *.lo core core.* 420 rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed 421 rm -f -r .libs _libs 422 423clean: mostlyclean 424 425distclean: clean 426 rm -f Makefile ID TAGS 427 if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ 428 rm -f ChangeLog.inst $(DISTFILES.normal); \ 429 else \ 430 : ; \ 431 fi 432 433maintainer-clean: distclean 434 @echo "This command is intended for maintainers to use;" 435 @echo "it deletes files that may require special tools to rebuild." 436 437 438# GNU gettext needs not contain the file `VERSION' but contains some 439# other files which should not be distributed in other packages. 440distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) 441dist distdir: Makefile 442 if test "$(PACKAGE)" = "gettext-tools"; then \ 443 : ; \ 444 else \ 445 if test "$(PACKAGE)" = "gettext-runtime"; then \ 446 additional="$(DISTFILES.gettext)"; \ 447 else \ 448 additional="$(DISTFILES.normal)"; \ 449 fi; \ 450 $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ 451 for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ 452 if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ 453 cp -p $$dir/$$file $(distdir); \ 454 done; \ 455 fi 456 457Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 458 cd $(top_builddir) && $(SHELL) ./config.status 459# This would be more efficient, but doesn't work any more with autoconf-2.57, 460# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. 461# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status 462 463# Tell versions [3.59,3.63) of GNU make not to export all variables. 464# Otherwise a system limit (for SysV at least) may be exceeded. 465.NOEXPORT: 466