1 ## Makefile for the gettext-tools/src subdirectory of GNU gettext
2 ## Copyright (C) 1995-1998, 2000-2011, 2015 Free Software Foundation,
5 ## This program is free software: you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; either version 3 of the License, or
8 ## (at your option) any later version.
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ## GNU General Public License for more details.
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program. If not, see <http://www.gnu.org/licenses/>.
18 ## Process this file with automake to produce Makefile.in.
20 AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies subdir-objects
22 MOSTLYCLEANFILES = core *.stackdump
29 msgcmp msgfmt msgmerge msgunfmt xgettext \
30 msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq \
33 noinst_PROGRAMS = hostname urlget cldr-plurals
35 lib_LTLIBRARIES = libgettextsrc.la
37 noinst_HEADERS = pos.h message.h po-error.h po-xerror.h po-gram.h po-charset.h \
38 po-lex.h open-catalog.h read-catalog-abstract.h read-catalog.h \
39 read-po.h read-properties.h read-stringtable.h \
41 color.h write-catalog.h write-po.h write-properties.h write-stringtable.h \
42 dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h cldr-plural.h \
43 cldr-plural-exp.h locating-rule.h its.h \
44 msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-cat.h msgl-header.h \
45 msgl-english.h msgl-check.h msgl-fsearch.h msgfmt.h msgunfmt.h \
46 plural-count.h plural-eval.h plural-distrib.h \
47 read-mo.h write-mo.h \
48 read-java.h write-java.h \
49 read-csharp.h write-csharp.h \
50 read-resources.h write-resources.h \
51 read-tcl.h write-tcl.h \
53 read-desktop.h write-desktop.h \
55 po-time.h plural-table.h lang-table.h format.h filters.h \
56 xgettext.h x-c.h x-po.h x-sh.h x-python.h x-lisp.h x-elisp.h x-librep.h \
57 x-scheme.h x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h \
58 x-tcl.h x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h x-lua.h \
59 x-javascript.h x-vala.h x-gsettings.h x-desktop.h x-appdata.h
61 EXTRA_DIST += FILES project-id
63 aliaspath = $(localedir)
64 jardir = $(datadir)/gettext
65 pkgdatadir = $(datadir)/gettext
66 projectsdir = $(pkgdatadir)/projects
67 pkglibdir = $(libdir)/gettext
71 -I.. -I$(top_srcdir) \
72 -I$(top_srcdir)/libgrep \
73 -I../gnulib-lib -I$(top_srcdir)/gnulib-lib \
74 -I../intl -I$(top_srcdir)/../gettext-runtime/intl
76 -DLOCALEDIR=\"$(localedir)\" -DBISON_LOCALEDIR=\"$(BISON_LOCALEDIR)\" \
77 -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
78 -DUSEJAVA=$(USEJAVA) \
79 -DUSEJEXE=$(USEJEXE) \
80 -DGETTEXTJEXEDIR=\"$(pkglibdir)\" \
81 -DGETTEXTJAR=\"$(jardir)/gettext.jar\" \
82 -DLIBDIR=\"$(libdir)\" \
83 -DGETTEXTDATADIR=\"$(pkgdatadir)\" \
84 -DPROJECTSDIR=\"$(projectsdir)\" @DEFS@
85 # Ensure that <stdint.h> defines SIZE_MAX in C++ mode, like it does in C mode.
86 AM_CXXFLAGS = -D__STDC_LIMIT_MACROS
88 LDADD = ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ $(WOE32_LDADD)
89 OTHERPROGDEPENDENCIES = ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
96 JAVACOMP = $(SHELL) ../javacomp.sh
97 CSHARPCOMP = $(SHELL) ../csharpcomp.sh
98 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
101 # All programs deal with message lists.
102 # All programs must read PO files. (msgunfmt also, for read-java.c,
103 # read-csharp.c and read-resources.c.)
104 # message.c -> str-list.c.
105 # (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> str-list.c.
106 # (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> open-catalog.c -> dir-list.c -> str-list.c.
107 # (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> po-charset.c.
108 # (read-catalog-abstract.c <--> po-gram-gen.y <--> po-lex.c) -> message.c -> str-list.c.
109 COMMON_SOURCE = message.c po-error.c po-xerror.c \
110 read-catalog-abstract.c po-lex.c po-gram-gen.y po-charset.c \
111 read-po.c read-properties.c read-stringtable.c open-catalog.c \
112 dir-list.c str-list.c
114 # xgettext and msgfmt deal with format strings.
116 FORMAT_SOURCE = format.c
118 FORMAT_SOURCE = ../woe32dll/c++format.cc
122 format-c.c format-c-parse.h \
125 format-python-brace.c \
137 format-perl-brace.c \
139 format-gcc-internal.c \
140 format-gfc-internal.c \
149 # libgettextsrc contains all code that is needed by at least two programs.
150 libgettextsrc_la_SOURCES = \
151 $(COMMON_SOURCE) read-catalog.c \
152 color.c write-catalog.c write-properties.c write-stringtable.c write-po.c \
153 msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \
154 msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c plural-eval.c \
155 plural-table.c quote.h sentence.h sentence.c \
157 read-desktop.c locating-rule.c its.c
159 # msggrep needs pattern matching.
160 LIBGREP = ../libgrep/libgrep.a
162 # Source dependencies.
163 msgcmp_SOURCES = msgcmp.c
164 msgcmp_SOURCES += msgl-fsearch.c
165 msgfmt_SOURCES = msgfmt.c
167 write-mo.c write-java.c write-csharp.c write-resources.c write-tcl.c \
168 write-qt.c write-desktop.c write-xml.c \
169 ../../gettext-runtime/intl/hash-string.c
171 msgmerge_SOURCES = msgmerge.c
173 msgmerge_SOURCES = ../woe32dll/c++msgmerge.cc
175 msgmerge_SOURCES += msgl-fsearch.c lang-table.c plural-count.c
176 msgunfmt_SOURCES = msgunfmt.c
177 msgunfmt_SOURCES += \
178 read-mo.c read-java.c read-csharp.c read-resources.c read-tcl.c
180 xgettext_SOURCES = xgettext.c
182 xgettext_SOURCES = ../woe32dll/c++xgettext.cc
184 xgettext_SOURCES += \
185 x-c.c x-po.c x-sh.c x-python.c x-lisp.c x-elisp.c x-librep.c x-scheme.c \
186 x-smalltalk.c x-java.c x-csharp.c x-awk.c x-ycp.c x-tcl.c x-perl.c x-php.c \
187 x-rst.c x-lua.c x-javascript.c x-vala.c \
190 msgattrib_SOURCES = msgattrib.c
192 msgattrib_SOURCES = ../woe32dll/c++msgattrib.cc
195 msgcat_SOURCES = msgcat.c
197 msgcat_SOURCES = ../woe32dll/c++msgcat.cc
200 msgcomm_SOURCES = msgcomm.c
202 msgcomm_SOURCES = ../woe32dll/c++msgcomm.cc
205 msgconv_SOURCES = msgconv.c
207 msgconv_SOURCES = ../woe32dll/c++msgconv.cc
210 msgen_SOURCES = msgen.c
212 msgen_SOURCES = ../woe32dll/c++msgen.cc
214 msgexec_SOURCES = msgexec.c
216 msgfilter_SOURCES = msgfilter.c
218 msgfilter_SOURCES = ../woe32dll/c++msgfilter.cc
220 msgfilter_SOURCES += filter-sr-latin.c
221 msgfilter_SOURCES += filter-quote.c
223 msggrep_SOURCES = msggrep.c
225 msggrep_SOURCES = ../woe32dll/c++msggrep.cc
227 msginit_SOURCES = msginit.c
228 msginit_SOURCES += lang-table.c plural-count.c
229 msginit_SOURCES += ../../gettext-runtime/intl/localealias.c
230 # This is needed because on Solaris, localealias.c requires the symbol
231 # libintl_thread_in_use which is defined in lock.c. The copy of lock.c inside
232 # libintl.so is not sufficient, because libintl.so doesn't export the symbol
233 # libintl_thread_in_use.
234 msginit_SOURCES += ../../gettext-runtime/intl/lock.c
236 msguniq_SOURCES = msguniq.c
238 msguniq_SOURCES = ../woe32dll/c++msguniq.cc
240 recode_sr_latin_SOURCES = recode-sr-latin.c filter-sr-latin.c
241 hostname_SOURCES = hostname.c
242 urlget_SOURCES = urlget.c
243 cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c
244 cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML)
245 cldr_plurals_LDADD = libgettextsrc.la $(LDADD)
247 # How to build libgettextsrc.la.
248 # Need ../gnulib-lib/libgettextlib.la.
249 # Need $(LTLIBUNISTRING) because ulc_width_linebreaks, uc_width, etc. may be
250 # taken from libunistring, when the configure option --with-libunistring-prefix
252 # Need @LTLIBINTL@ because many source files use gettext().
253 # Need @LTLIBICONV@ because po-charset.c, po-lex.c, msgl-iconv.c, write-po.c
255 libgettextsrc_la_LDFLAGS = \
257 ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined
259 libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS) $(INCXML)
261 # Tell the mingw or Cygwin linker which symbols to export.
263 libgettextsrc_la_SOURCES += ../woe32dll/gettextsrc-exports.c
264 libgettextsrc_la_LDFLAGS += -Wl,--export-all-symbols
265 libgettextsrc_la_CPPFLAGS += $(GETTEXTLIB_EXPORTS_FLAGS)
268 # No need to install libgettextsrc.a, except on AIX.
269 install-exec-hook: install-exec-clean
271 case "@host_os@" in \
273 *) $(RM) $(DESTDIR)$(libdir)/libgettextsrc.a ;; \
276 # Compile-time flags for particular source files.
277 msgmerge_CFLAGS = $(AM_CFLAGS) $(OPENMP_CFLAGS)
278 msgmerge_CXXFLAGS = $(AM_CXXFLAGS) $(OPENMP_CFLAGS)
281 # INTL_MACOSX_LIBS is needed because the programs depend on libintl.la
282 # but libtool doesn't put -Wl,-framework options into .la files.
283 # For msginit, it is also needed because of localename.c.
284 msgcmp_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD)
285 msgfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
286 msgmerge_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @MSGMERGE_LIBM@ $(WOE32_LDADD) $(OPENMP_CFLAGS)
287 msgunfmt_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
288 xgettext_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ @LTLIBICONV@ $(WOE32_LDADD)
289 msgattrib_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
290 msgcat_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
291 msgcomm_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
292 msgconv_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
293 msgen_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
294 msgexec_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
295 msgfilter_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
296 msggrep_LDADD = $(LIBGREP) libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
297 msginit_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
298 msguniq_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@ $(WOE32_LDADD)
300 # Specify when to relink the programs.
301 msgcmp_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
302 msgfmt_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
303 msgmerge_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
304 msgunfmt_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
305 xgettext_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
306 msgattrib_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
307 msgcat_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
308 msgcomm_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
309 msgconv_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
310 msgen_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
311 msgexec_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
312 msgfilter_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
313 msggrep_DEPENDENCIES = $(LIBGREP) libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
314 msginit_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
315 msguniq_DEPENDENCIES = libgettextsrc.la ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
316 recode_sr_latin_DEPENDENCIES = $(OTHERPROGDEPENDENCIES)
317 hostname_DEPENDENCIES = $(OTHERPROGDEPENDENCIES)
318 urlget_DEPENDENCIES = $(OTHERPROGDEPENDENCIES)
320 # Specify installation directory, for --enable-relocatable.
321 msgcmp_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
322 msgfmt_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
323 msgmerge_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
324 msgunfmt_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
325 xgettext_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
326 msgattrib_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
327 msgcat_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
328 msgcomm_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
329 msgconv_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
330 msgen_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
331 msgexec_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
332 msgfilter_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
333 msggrep_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
334 msginit_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
335 msguniq_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
336 recode_sr_latin_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
337 hostname_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
338 urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
339 cldr_plurals_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
340 if RELOCATABLE_VIA_LD
341 msgcmp_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
342 msgfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
343 msgmerge_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
344 msgunfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
345 xgettext_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
346 msgattrib_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
347 msgcat_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
348 msgcomm_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
349 msgconv_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
350 msgen_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
351 msgexec_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
352 msgfilter_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
353 msggrep_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
354 msginit_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
355 msguniq_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
356 recode_sr_latin_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
357 hostname_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
358 urlget_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
359 cldr_plurals_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
362 # Linking with C++ libraries is needed _only_ on mingw and Cygwin.
364 libgettextsrc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
365 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
366 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgettextsrc_la_LDFLAGS) $(LDFLAGS) \
368 msgattrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
369 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
370 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \
372 msgcat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
373 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
374 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \
376 msgcomm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
377 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
378 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \
380 msgconv_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
381 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
382 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \
384 msgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
385 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
386 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \
388 msgfilter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
389 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
390 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \
392 msggrep_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
393 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
394 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \
396 msgmerge_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
397 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
398 $(CCLD) $(msgmerge_CFLAGS) $(CFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \
400 msguniq_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
401 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
402 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \
404 xgettext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
405 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
406 $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \
409 libgettextsrc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
410 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
411 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(libgettextsrc_la_LDFLAGS) $(LDFLAGS) \
413 msgattrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
414 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
415 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \
417 msgcat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
418 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
419 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \
421 msgcomm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
422 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
423 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \
425 msgconv_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
426 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
427 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \
429 msgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
430 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
431 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \
433 msgfilter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
434 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
435 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \
437 msggrep_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
438 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
439 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \
441 msgmerge_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
442 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
443 $(CXXLD) $(msgmerge_CXXFLAGS) $(CXXFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \
445 msguniq_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
446 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
447 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \
449 xgettext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
450 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
451 $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \
455 # Special rules for bison and flex generated files.
458 po-gram-gen.c po-gram-gen.h po-gram-gen2.h cldr-plural.c cldr-plural.h
460 po-lex.o po-lex.lo: po-gram-gen2.h
461 po-gram-gen2.h: po-gram-gen.h
463 test -f ./po-gram-gen.h || srcdir=$(srcdir)/; \
464 $(SED) -e 's/yy/po_gram_/g' -e 's/extern /extern DLL_VARIABLE /' \
465 $${srcdir}po-gram-gen.h > $@-tmp && \
467 po-gram-gen.h: po-gram-gen.c
470 # Special rules for installation of auxiliary programs.
473 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
474 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) hostname$(EXEEXT) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
475 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) urlget$(EXEEXT) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
476 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) cldr-plurals$(EXEEXT) $(DESTDIR)$(pkglibdir)/cldr-plurals$(EXEEXT)
477 $(INSTALL_SCRIPT) user-email $(DESTDIR)$(pkglibdir)/user-email
478 $(INSTALL_SCRIPT) $(srcdir)/project-id $(DESTDIR)$(pkglibdir)/project-id
481 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
484 $(RM) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
485 $(RM) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
486 $(RM) $(DESTDIR)$(pkglibdir)/cldr-plurals$(EXEEXT)
487 $(RM) $(DESTDIR)$(pkglibdir)/user-email
488 $(RM) $(DESTDIR)$(pkglibdir)/project-id
490 DISTCLEANFILES += user-email
493 # Special rules for Java compilation.
495 USEJAVA = $(USEJAVA_@BUILDJAVAEXE@)
497 USEJAVA_no = $(USEJAVA_no_@BUILDJAVA@)
501 USEJEXE = $(USEJEXE_@BUILDJAVAEXE@)
505 all-local: all-java-@BUILDJAVAEXE@
506 all-java-yes: gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT)
507 all-java-no: all-java-no-@BUILDJAVA@
508 all-java-no-yes: gettext.jar
511 gnu.gettext.DumpResource$(EXEEXT): $(srcdir)/gnu/gettext/DumpResource.java
512 $(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/DumpResource.java --main=gnu.gettext.DumpResource -o $@
514 gnu.gettext.GetURL$(EXEEXT): $(srcdir)/gnu/gettext/GetURL.java
515 $(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/GetURL.java --main=gnu.gettext.GetURL -o $@
517 gnu/gettext/DumpResource.class: $(srcdir)/gnu/gettext/DumpResource.java
518 $(JAVACOMP) -d . $(srcdir)/gnu/gettext/DumpResource.java
520 gnu/gettext/GetURL.class: $(srcdir)/gnu/gettext/GetURL.java
521 $(JAVACOMP) -d . $(srcdir)/gnu/gettext/GetURL.java
523 gettext.jar: gnu/gettext/DumpResource.class gnu/gettext/GetURL.class
524 $(JAR) cf $@ gnu/gettext/DumpResource*.class gnu/gettext/GetURL*.class
526 EXTRA_DIST += gnu/gettext/DumpResource.java gnu/gettext/GetURL.java
528 CLEANFILES += gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT) \
529 gettext.jar gnu/gettext/*.class
531 install-exec-local: install-exec-java-@BUILDJAVAEXE@
532 install-exec-java-yes: all-java-yes
533 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
534 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gnu.gettext.DumpResource$(EXEEXT) $(DESTDIR)$(pkglibdir)/gnu.gettext.DumpResource$(EXEEXT)
535 $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gnu.gettext.GetURL$(EXEEXT) $(DESTDIR)$(pkglibdir)/gnu.gettext.GetURL$(EXEEXT)
536 install-exec-java-no:
538 install-data-local: install-data-java-@BUILDJAVAEXE@
539 install-data-java-yes:
540 install-data-java-no: install-data-java-no-@BUILDJAVA@
541 install-data-java-no-yes: all-java-no-yes
542 $(INSTALL_DATA) gettext.jar $(DESTDIR)$(jardir)/gettext.jar
543 install-data-java-no-no:
545 installdirs-local: installdirs-java-@BUILDJAVAEXE@
546 installdirs-java-yes:
547 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
548 installdirs-java-no: installdirs-java-no-@BUILDJAVA@
549 installdirs-java-no-yes:
550 $(MKDIR_P) $(DESTDIR)$(jardir)
551 installdirs-java-no-no:
553 uninstall-local: uninstall-java-@BUILDJAVAEXE@
555 $(RM) $(DESTDIR)$(pkglibdir)/gnu.gettext.DumpResource$(EXEEXT)
556 $(RM) $(DESTDIR)$(pkglibdir)/gnu.gettext.GetURL$(EXEEXT)
557 uninstall-java-no: uninstall-java-no-@BUILDJAVA@
558 uninstall-java-no-yes:
559 $(RM) $(DESTDIR)$(jardir)/gettext.jar
560 uninstall-java-no-no:
563 # Special rules for C# auxiliary programs.
565 EXTRA_DIST += msgfmt.cs msgunfmt.cs
568 msgfmt.net.exe msgfmt.net.exe.mdb \
569 msgunfmt.net.exe msgunfmt.net.exe.mdb
571 all-local: all-csharp-@BUILDCSHARP@
572 all-csharp-yes: msgfmt.net.exe msgunfmt.net.exe
575 msgfmt.net.exe: msgfmt.cs
576 $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(srcdir)/msgfmt.cs
578 msgunfmt.net.exe: msgunfmt.cs
579 $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ -L ../../gettext-runtime/intl-csharp -l GNU.Gettext $(srcdir)/msgunfmt.cs
581 install-exec-local: install-exec-csharp-@BUILDCSHARP@
582 install-exec-csharp-yes: all-csharp-yes
583 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
584 $(INSTALL_DATA) msgfmt.net.exe $(DESTDIR)$(pkglibdir)/msgfmt.net.exe
585 $(INSTALL_DATA) msgunfmt.net.exe $(DESTDIR)$(pkglibdir)/msgunfmt.net.exe
586 install-exec-csharp-no:
587 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
589 installdirs-local: install-csharp
591 $(MKDIR_P) $(DESTDIR)$(pkglibdir)
593 uninstall-local: uninstall-csharp-@BUILDCSHARP@
594 uninstall-csharp-yes: all-csharp-yes
595 $(RM) $(DESTDIR)$(pkglibdir)/msgfmt.net.exe
596 $(RM) $(DESTDIR)$(pkglibdir)/msgunfmt.net.exe
600 # Special rules for Tcl auxiliary program.
602 EXTRA_DIST += msgunfmt.tcl
604 install-data-local: install-tcl
606 $(MKDIR_P) $(DESTDIR)$(pkgdatadir)
607 $(INSTALL_DATA) $(srcdir)/msgunfmt.tcl $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
609 installdirs-local: installdirs-tcl
611 $(MKDIR_P) $(DESTDIR)$(pkgdatadir)
613 uninstall-local: uninstall-tcl
615 $(RM) $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
618 # Support for relocatability.
619 RELOCATABLE_LIBRARY_PATH = $(libdir)
620 RELOCATABLE_SRC_DIR = $(top_srcdir)/gnulib-lib
621 RELOCATABLE_BUILD_DIR = ../gnulib-lib
622 RELOCATABLE_CONFIG_H_DIR = ..
623 RELOCATABLE_STRIP = :
625 # Version information according to Woe32 conventions.
627 WOE32_LDADD = gettext.res
628 gettext.res : $(top_srcdir)/../windows/gettext.rc
629 $(WINDRES) `$(SHELL) $(top_srcdir)/../windows/windres-options --escape $(VERSION)` -i $(top_srcdir)/../windows/gettext.rc -o gettext.res --output-format=coff
630 MOSTLYCLEANFILES += gettext.res