1## Makefile for the gettext-tools/src subdirectory of GNU gettext 2## Copyright (C) 1995-1998, 2000-2007 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 3 of the License, or 7## (at your option) 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, see <http://www.gnu.org/licenses/>. 16 17## Process this file with automake to produce Makefile.in. 18 19AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies 20EXTRA_DIST = 21MOSTLYCLEANFILES = core *.stackdump 22CLEANFILES = 23DISTCLEANFILES = 24 25RM = rm -f 26 27bin_PROGRAMS = \ 28msgcmp msgfmt msgmerge msgunfmt xgettext \ 29msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq \ 30recode-sr-latin 31 32noinst_PROGRAMS = hostname urlget 33 34lib_LTLIBRARIES = libgettextsrc.la 35 36noinst_HEADERS = pos.h message.h po-error.h po-xerror.h po-gram.h po-charset.h \ 37po-lex.h open-catalog.h read-catalog-abstract.h read-catalog.h \ 38read-po.h read-properties.h read-stringtable.h \ 39str-list.h \ 40color.h write-catalog.h write-po.h write-properties.h write-stringtable.h \ 41dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h \ 42msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-cat.h \ 43msgl-english.h msgl-check.h msgl-fsearch.h msgfmt.h msgunfmt.h \ 44plural-count.h plural-eval.h \ 45read-mo.h write-mo.h \ 46read-java.h write-java.h \ 47read-csharp.h write-csharp.h \ 48read-resources.h write-resources.h \ 49read-tcl.h write-tcl.h \ 50write-qt.h \ 51po-time.h plural-table.h lang-table.h format.h filters.h \ 52xgettext.h x-c.h x-po.h x-sh.h x-python.h x-lisp.h x-elisp.h x-librep.h \ 53x-scheme.h x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h \ 54x-tcl.h x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h 55 56EXTRA_DIST += FILES project-id ChangeLog.0 57 58aliaspath = $(localedir) 59jardir = $(datadir)/gettext 60pkgdatadir = $(datadir)/gettext 61projectsdir = $(pkgdatadir)/projects 62pkglibdir = $(libdir)/gettext 63 64AM_CPPFLAGS = \ 65 -I. -I$(srcdir) \ 66 -I.. -I$(top_srcdir) \ 67 -I$(top_srcdir)/libgrep \ 68 -I../gnulib-lib -I$(top_srcdir)/gnulib-lib \ 69 -I../intl -I$(top_srcdir)/../gettext-runtime/intl 70DEFS = \ 71 -DLOCALEDIR=\"$(localedir)\" -DBISON_LOCALEDIR=\"$(BISON_LOCALEDIR)\" \ 72 -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ 73 -DUSEJEXE=$(USEJEXE) \ 74 -DGETTEXTJEXEDIR=\"$(pkglibdir)\" \ 75 -DGETTEXTJAR=\"$(jardir)/gettext.jar\" \ 76 -DLIBDIR=\"$(libdir)\" \ 77 -DGETTEXTDATADIR=\"$(pkgdatadir)\" \ 78 -DPROJECTSDIR=\"$(projectsdir)\" @DEFS@ 79# Ensure that <stdint.h> defines SIZE_MAX in C++ mode, like it does in C mode. 80AM_CXXFLAGS = -D__STDC_LIMIT_MACROS 81LDADD = ../gnulib-lib/libgettextlib.la @LTLIBINTL@ $(WOE32_LDADD) 82 83SED = sed 84YACC = @YACC@ -d 85GCJ = @GCJ@ 86GCJFLAGS = @GCJFLAGS@ 87JAR = @JAR@ 88JAVACOMP = $(SHELL) ../javacomp.sh 89CSHARPCOMP = $(SHELL) ../csharpcomp.sh 90CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@ 91 92 93# All programs deal with message lists. 94# All programs must read PO files. (msgunfmt also, for read-java.c, 95# read-csharp.c and read-resources.c.) 96# message.c -> str-list.c. 97# (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> str-list.c. 98# (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> open-catalog.c -> dir-list.c -> str-list.c. 99# (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> po-charset.c. 100# (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> message.c -> str-list.c. 101COMMON_SOURCE = message.c po-error.c po-xerror.c \ 102read-catalog-abstract.c po-lex.c po-gram-gen.y po-charset.c \ 103read-po.c read-properties.c read-stringtable.c open-catalog.c \ 104dir-list.c str-list.c 105 106# xgettext and msgfmt deal with format strings. 107if !WOE32DLL 108FORMAT_SOURCE = format.c 109else 110FORMAT_SOURCE = ../woe32dll/c++format.cc 111endif 112FORMAT_SOURCE += format-invalid.h \ 113format-c.c format-sh.c format-python.c format-lisp.c format-elisp.c \ 114format-librep.c format-scheme.c format-java.c format-csharp.c format-awk.c \ 115format-pascal.c format-ycp.c format-tcl.c format-perl.c format-perl-brace.c \ 116format-php.c format-gcc-internal.c format-qt.c format-kde.c format-boost.c 117 118# libgettextsrc contains all code that is needed by at least two programs. 119libgettextsrc_la_SOURCES = \ 120$(COMMON_SOURCE) read-catalog.c \ 121color.c write-catalog.c write-properties.c write-stringtable.c write-po.c \ 122msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c msgl-english.c msgl-check.c \ 123file-list.c msgl-charset.c po-time.c plural-exp.c plural-eval.c plural-table.c \ 124$(FORMAT_SOURCE) 125 126# msggrep needs pattern matching. 127LIBGREP = ../libgrep/libgrep.a 128 129# Source dependencies. 130msgcmp_SOURCES = msgcmp.c 131msgfmt_SOURCES = msgfmt.c 132msgfmt_SOURCES += \ 133 write-mo.c write-java.c write-csharp.c write-resources.c write-tcl.c \ 134 write-qt.c ../../gettext-runtime/intl/hash-string.c 135if !WOE32DLL 136msgmerge_SOURCES = msgmerge.c 137else 138msgmerge_SOURCES = ../woe32dll/c++msgmerge.cc 139endif 140msgmerge_SOURCES += msgl-fsearch.c plural-count.c 141msgunfmt_SOURCES = msgunfmt.c 142msgunfmt_SOURCES += \ 143 read-mo.c read-java.c read-csharp.c read-resources.c read-tcl.c 144if !WOE32DLL 145xgettext_SOURCES = xgettext.c 146else 147xgettext_SOURCES = ../woe32dll/c++xgettext.cc 148endif 149xgettext_SOURCES += \ 150 x-c.c x-po.c x-sh.c x-python.c x-lisp.c x-elisp.c x-librep.c x-scheme.c \ 151 x-smalltalk.c x-java.c x-csharp.c x-awk.c x-ycp.c x-tcl.c x-perl.c x-php.c \ 152 x-rst.c x-glade.c 153if !WOE32DLL 154msgattrib_SOURCES = msgattrib.c 155else 156msgattrib_SOURCES = ../woe32dll/c++msgattrib.cc 157endif 158if !WOE32DLL 159msgcat_SOURCES = msgcat.c 160else 161msgcat_SOURCES = ../woe32dll/c++msgcat.cc 162endif 163if !WOE32DLL 164msgcomm_SOURCES = msgcomm.c 165else 166msgcomm_SOURCES = ../woe32dll/c++msgcomm.cc 167endif 168if !WOE32DLL 169msgconv_SOURCES = msgconv.c 170else 171msgconv_SOURCES = ../woe32dll/c++msgconv.cc 172endif 173if !WOE32DLL 174msgen_SOURCES = msgen.c 175else 176msgen_SOURCES = ../woe32dll/c++msgen.cc 177endif 178msgexec_SOURCES = msgexec.c 179if !WOE32DLL 180msgfilter_SOURCES = msgfilter.c 181else 182msgfilter_SOURCES = ../woe32dll/c++msgfilter.cc 183endif 184msgfilter_SOURCES += filter-sr-latin.c 185if !WOE32DLL 186msggrep_SOURCES = msggrep.c 187else 188msggrep_SOURCES = ../woe32dll/c++msggrep.cc 189endif 190msginit_SOURCES = msginit.c 191msginit_SOURCES += lang-table.c plural-count.c 192msginit_SOURCES += ../../gettext-runtime/intl/localealias.c 193# This is needed because on Solaris, localealias.c requires the symbol 194# libintl_thread_in_use which is defined in lock.c. The copy of lock.c inside 195# libintl.so is not sufficient, because libintl.so doesn't export the symbol 196# libintl_thread_in_use. 197msginit_SOURCES += ../../gettext-runtime/intl/lock.c 198if !WOE32DLL 199msguniq_SOURCES = msguniq.c 200else 201msguniq_SOURCES = ../woe32dll/c++msguniq.cc 202endif 203recode_sr_latin_SOURCES = recode-sr-latin.c filter-sr-latin.c 204hostname_SOURCES = hostname.c 205urlget_SOURCES = urlget.c 206 207# How to build libgettextsrc.la. 208# Need ../gnulib-lib/libgettextlib.la. 209# Need @LTLIBINTL@ because many source files use gettext(). 210# Need @LTLIBICONV@ because po-charset.c, po-lex.c, msgl-iconv.c, write-po.c 211# use iconv(). 212libgettextsrc_la_LDFLAGS = \ 213 -release @VERSION@ \ 214 ../gnulib-lib/libgettextlib.la @LTLIBINTL@ @LTLIBICONV@ -lc @LTNOUNDEF@ 215 216# Tell the mingw or Cygwin linker which symbols to export. 217if WOE32DLL 218libgettextsrc_la_SOURCES += ../woe32dll/gettextsrc-exports.c 219libgettextsrc_la_LDFLAGS += -Wl,--export-all-symbols 220endif 221 222# No need to install libgettextsrc.a, except on AIX. 223install-exec-local: install-libLTLIBRARIES install-exec-clean 224install-exec-clean: 225 case "@host_os@" in \ 226 aix*) ;; \ 227 *) $(RM) $(DESTDIR)$(libdir)/libgettextsrc.a ;; \ 228 esac 229 230# Compile-time flags for particular source files. 231msgmerge_CFLAGS = $(AM_CFLAGS) $(OPENMP_CFLAGS) 232msgmerge_CXXFLAGS = $(AM_CXXFLAGS) $(OPENMP_CFLAGS) 233 234# Link dependencies. 235# INTL_MACOSX_LIBS is needed because the programs depend on libintl.la 236# but libtool doesn't put -Wl,-framework options into .la files. 237# For msginit, it is also needed because of localename.c. 238msgcmp_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 239msgfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 240msgmerge_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD) $(OPENMP_CFLAGS) 241msgunfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 242xgettext_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @LTLIBEXPAT@ $(WOE32_LDADD) 243msgattrib_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 244msgcat_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 245msgcomm_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 246msgconv_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 247msgen_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 248msgexec_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 249msgfilter_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 250msggrep_LDADD = $(LIBGREP) libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 251msginit_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 252msguniq_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 253recode_sr_latin_LDADD = ../gnulib-lib/libgettextlib.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD) 254 255# Specify installation directory, for --enable-relocatable. 256msgcmp_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 257msgfmt_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 258msgmerge_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 259msgunfmt_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 260xgettext_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 261msgattrib_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 262msgcat_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 263msgcomm_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 264msgconv_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 265msgen_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 266msgexec_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 267msgfilter_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 268msggrep_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 269msginit_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 270msguniq_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 271recode_sr_latin_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\" 272hostname_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\" 273urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\" 274if RELOCATABLE_VIA_LD 275msgcmp_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 276msgfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 277msgmerge_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 278msgunfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 279xgettext_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 280msgattrib_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 281msgcat_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 282msgcomm_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 283msgconv_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 284msgen_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 285msgexec_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 286msgfilter_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 287msggrep_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 288msginit_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 289msguniq_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 290recode_sr_latin_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` 291hostname_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)` 292urlget_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)` 293endif 294 295# Linking with C++ libraries is needed _only_ on mingw and Cygwin. 296if !WOE32DLL 297libgettextsrc_la_LINK = $(LIBTOOL) --tag=CC \ 298 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 299 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgettextsrc_la_LDFLAGS) $(LDFLAGS) \ 300 -o $@ 301msgattrib_LINK = $(LIBTOOL) --tag=CC \ 302 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 303 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \ 304 -o $@ 305msgcat_LINK = $(LIBTOOL) --tag=CC \ 306 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 307 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \ 308 -o $@ 309msgcomm_LINK = $(LIBTOOL) --tag=CC \ 310 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 311 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \ 312 -o $@ 313msgconv_LINK = $(LIBTOOL) --tag=CC \ 314 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 315 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \ 316 -o $@ 317msgen_LINK = $(LIBTOOL) --tag=CC \ 318 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 319 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \ 320 -o $@ 321msgfilter_LINK = $(LIBTOOL) --tag=CC \ 322 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 323 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \ 324 -o $@ 325msggrep_LINK = $(LIBTOOL) --tag=CC \ 326 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 327 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \ 328 -o $@ 329msgmerge_LINK = $(LIBTOOL) --tag=CC \ 330 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 331 $(CCLD) $(msgmerge_CFLAGS) $(CFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \ 332 -o $@ 333msguniq_LINK = $(LIBTOOL) --tag=CC \ 334 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 335 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \ 336 -o $@ 337xgettext_LINK = $(LIBTOOL) --tag=CC \ 338 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 339 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \ 340 -o $@ 341else 342libgettextsrc_la_LINK = $(LIBTOOL) --tag=CXX \ 343 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 344 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(libgettextsrc_la_LDFLAGS) $(LDFLAGS) \ 345 -o $@ 346msgattrib_LINK = $(LIBTOOL) --tag=CXX \ 347 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 348 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \ 349 -o $@ 350msgcat_LINK = $(LIBTOOL) --tag=CXX \ 351 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 352 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \ 353 -o $@ 354msgcomm_LINK = $(LIBTOOL) --tag=CXX \ 355 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 356 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \ 357 -o $@ 358msgconv_LINK = $(LIBTOOL) --tag=CXX \ 359 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 360 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \ 361 -o $@ 362msgen_LINK = $(LIBTOOL) --tag=CXX \ 363 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 364 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \ 365 -o $@ 366msgfilter_LINK = $(LIBTOOL) --tag=CXX \ 367 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 368 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \ 369 -o $@ 370msggrep_LINK = $(LIBTOOL) --tag=CXX \ 371 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 372 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \ 373 -o $@ 374msgmerge_LINK = $(LIBTOOL) --tag=CXX \ 375 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 376 $(CXXLD) $(msgmerge_CXXFLAGS) $(CXXFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \ 377 -o $@ 378msguniq_LINK = $(LIBTOOL) --tag=CXX \ 379 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 380 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \ 381 -o $@ 382xgettext_LINK = $(LIBTOOL) --tag=CXX \ 383 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ 384 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \ 385 -o $@ 386endif 387 388# Special rules for bison and flex generated files. 389 390BUILT_SOURCES = \ 391 po-gram-gen.c po-gram-gen.h po-gram-gen2.h 392 393po-lex.o po-lex.lo: po-gram-gen2.h 394po-gram-gen2.h: po-gram-gen.h 395 $(SED) -e 's/yy/po_gram_/g' -e 's/extern /extern DLL_VARIABLE /' $(srcdir)/po-gram-gen.h > $@-tmp 396 mv $@-tmp $@ 397 398 399# Special rules for installation of auxiliary programs. 400 401install-exec-local: 402 $(mkdir_p) $(DESTDIR)$(pkglibdir) 403 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) hostname$(EXEEXT) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT) 404 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) urlget$(EXEEXT) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT) 405 $(INSTALL_SCRIPT) user-email $(DESTDIR)$(pkglibdir)/user-email 406 $(INSTALL_SCRIPT) $(srcdir)/project-id $(DESTDIR)$(pkglibdir)/project-id 407 408installdirs-local: 409 $(mkdir_p) $(DESTDIR)$(pkglibdir) 410 411uninstall-local: 412 $(RM) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT) 413 $(RM) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT) 414 $(RM) $(DESTDIR)$(pkglibdir)/user-email 415 $(RM) $(DESTDIR)$(pkglibdir)/project-id 416 417DISTCLEANFILES += user-email 418 419 420# Special rules for Java compilation. 421 422USEJEXE = $(USEJEXE_@BUILDJAVAEXE@) 423USEJEXE_yes = 1 424USEJEXE_no = 0 425 426all-local: all-java-@BUILDJAVAEXE@ 427all-java-yes: gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT) 428all-java-no: all-java-no-@BUILDJAVA@ 429all-java-no-yes: gettext.jar 430all-java-no-no: 431 432gnu.gettext.DumpResource$(EXEEXT): $(srcdir)/gnu/gettext/DumpResource.java 433 $(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/DumpResource.java --main=gnu.gettext.DumpResource -o $@ 434 435gnu.gettext.GetURL$(EXEEXT): $(srcdir)/gnu/gettext/GetURL.java 436 $(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/GetURL.java --main=gnu.gettext.GetURL -o $@ 437 438gnu/gettext/DumpResource.class: $(srcdir)/gnu/gettext/DumpResource.java 439 $(JAVACOMP) -d . $(srcdir)/gnu/gettext/DumpResource.java 440 441gnu/gettext/GetURL.class: $(srcdir)/gnu/gettext/GetURL.java 442 $(JAVACOMP) -d . $(srcdir)/gnu/gettext/GetURL.java 443 444gettext.jar: gnu/gettext/DumpResource.class gnu/gettext/GetURL.class 445 $(JAR) cf $@ gnu/gettext/DumpResource*.class gnu/gettext/GetURL*.class 446 447EXTRA_DIST += gnu/gettext/DumpResource.java gnu/gettext/GetURL.java 448 449CLEANFILES += gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT) \ 450 gettext.jar gnu/gettext/*.class 451 452install-exec-local: install-exec-java-@BUILDJAVAEXE@ 453install-exec-java-yes: all-java-yes 454 $(mkdir_p) $(DESTDIR)$(pkglibdir) 455 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gnu.gettext.DumpResource$(EXEEXT) $(DESTDIR)$(pkglibdir)/gnu.gettext.DumpResource$(EXEEXT) 456 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gnu.gettext.GetURL$(EXEEXT) $(DESTDIR)$(pkglibdir)/gnu.gettext.GetURL$(EXEEXT) 457install-exec-java-no: 458 459install-data-local: install-data-java-@BUILDJAVAEXE@ 460install-data-java-yes: 461install-data-java-no: install-data-java-no-@BUILDJAVA@ 462install-data-java-no-yes: all-java-no-yes 463 $(INSTALL_DATA) gettext.jar $(DESTDIR)$(jardir)/gettext.jar 464install-data-java-no-no: 465 466installdirs-local: installdirs-java-@BUILDJAVAEXE@ 467installdirs-java-yes: 468 $(mkdir_p) $(DESTDIR)$(pkglibdir) 469installdirs-java-no: installdirs-java-no-@BUILDJAVA@ 470installdirs-java-no-yes: 471 $(mkdir_p) $(DESTDIR)$(jardir) 472installdirs-java-no-no: 473 474uninstall-local: uninstall-java-@BUILDJAVAEXE@ 475uninstall-java-yes: 476 $(RM) $(DESTDIR)$(pkglibdir)/gnu.gettext.DumpResource$(EXEEXT) 477 $(RM) $(DESTDIR)$(pkglibdir)/gnu.gettext.GetURL$(EXEEXT) 478uninstall-java-no: uninstall-java-no-@BUILDJAVA@ 479uninstall-java-no-yes: 480 $(RM) $(DESTDIR)$(jardir)/gettext.jar 481uninstall-java-no-no: 482 483 484# Special rules for C# auxiliary programs. 485 486EXTRA_DIST += msgfmt.cs msgunfmt.cs 487 488CLEANFILES += \ 489 msgfmt.net.exe msgfmt.net.exe.mdb \ 490 msgunfmt.net.exe msgunfmt.net.exe.mdb 491 492all-local: all-csharp-@BUILDCSHARP@ 493all-csharp-yes: msgfmt.net.exe msgunfmt.net.exe 494all-csharp-no: 495 496msgfmt.net.exe: msgfmt.cs 497 $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(srcdir)/msgfmt.cs 498 499msgunfmt.net.exe: msgunfmt.cs 500 $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ -L ../../gettext-runtime/intl-csharp -l GNU.Gettext $(srcdir)/msgunfmt.cs 501 502install-exec-local: install-exec-csharp-@BUILDCSHARP@ 503install-exec-csharp-yes: all-csharp-yes 504 $(mkdir_p) $(DESTDIR)$(pkglibdir) 505 $(INSTALL_DATA) msgfmt.net.exe $(DESTDIR)$(pkglibdir)/msgfmt.net.exe 506 $(INSTALL_DATA) msgunfmt.net.exe $(DESTDIR)$(pkglibdir)/msgunfmt.net.exe 507install-exec-csharp-no: 508 $(mkdir_p) $(DESTDIR)$(pkglibdir) 509 510installdirs-local: install-csharp 511installdirs-csharp: 512 $(mkdir_p) $(DESTDIR)$(pkglibdir) 513 514uninstall-local: uninstall-csharp-@BUILDCSHARP@ 515uninstall-csharp-yes: all-csharp-yes 516 $(RM) $(DESTDIR)$(pkglibdir)/msgfmt.net.exe 517 $(RM) $(DESTDIR)$(pkglibdir)/msgunfmt.net.exe 518uninstall-csharp-no: 519 520 521# Special rules for Tcl auxiliary program. 522 523EXTRA_DIST += msgunfmt.tcl 524 525install-data-local: install-tcl 526install-tcl: 527 $(mkdir_p) $(DESTDIR)$(pkgdatadir) 528 $(INSTALL_DATA) $(srcdir)/msgunfmt.tcl $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl 529 530installdirs-local: installdirs-tcl 531installdirs-tcl: 532 $(mkdir_p) $(DESTDIR)$(pkgdatadir) 533 534uninstall-local: uninstall-tcl 535uninstall-tcl: 536 $(RM) $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl 537 538 539# Support for relocatability. 540RELOCATABLE_LIBRARY_PATH = $(libdir) 541RELOCATABLE_SRC_DIR = $(top_srcdir)/gnulib-lib 542RELOCATABLE_BUILD_DIR = ../gnulib-lib 543RELOCATABLE_CONFIG_H_DIR = .. 544 545# Version information according to Woe32 conventions. 546if WOE32 547WOE32_LDADD = gettext.res 548gettext.res : $(top_srcdir)/../windows/gettext.rc 549 $(WINDRES) `$(SHELL) $(top_srcdir)/../windows/windres-options --escape $(VERSION)` -i $(top_srcdir)/../windows/gettext.rc -o gettext.res --output-format=coff 550MOSTLYCLEANFILES += gettext.res 551else 552WOE32_LDADD = 553endif 554