Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / src / Makefile.am
1 ## Makefile for the gettext-tools/src subdirectory of GNU gettext
2 ## Copyright (C) 1995-1998, 2000-2011, 2015 Free Software Foundation,
3 ## Inc.
4 ##
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.
9 ##
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.
14 ##
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/>.
17
18 ## Process this file with automake to produce Makefile.in.
19
20 AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies subdir-objects
21 EXTRA_DIST =
22 MOSTLYCLEANFILES = core *.stackdump
23 CLEANFILES =
24 DISTCLEANFILES =
25
26 RM = rm -f
27
28 bin_PROGRAMS = \
29 msgcmp msgfmt msgmerge msgunfmt xgettext \
30 msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq \
31 recode-sr-latin
32
33 noinst_PROGRAMS = hostname urlget cldr-plurals
34
35 lib_LTLIBRARIES = libgettextsrc.la
36
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 \
40 str-list.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 \
52 write-qt.h \
53 read-desktop.h write-desktop.h \
54 write-xml.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
60
61 EXTRA_DIST += FILES project-id
62
63 aliaspath = $(localedir)
64 jardir = $(datadir)/gettext
65 pkgdatadir = $(datadir)/gettext
66 projectsdir = $(pkgdatadir)/projects
67 pkglibdir = $(libdir)/gettext
68
69 AM_CPPFLAGS = \
70   -I. -I$(srcdir) \
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
75 DEFS = \
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
87
88 LDADD = ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ $(WOE32_LDADD)
89 OTHERPROGDEPENDENCIES = ../gnulib-lib/libgettextlib.la $(WOE32_LDADD)
90
91 SED = sed
92 YACC = @YACC@ -d
93 GCJ = @GCJ@
94 GCJFLAGS = @GCJFLAGS@
95 JAR = @JAR@
96 JAVACOMP = $(SHELL) ../javacomp.sh
97 CSHARPCOMP = $(SHELL) ../csharpcomp.sh
98 CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
99
100
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
113
114 # xgettext and msgfmt deal with format strings.
115 if !WOE32DLL
116 FORMAT_SOURCE = format.c
117 else
118 FORMAT_SOURCE = ../woe32dll/c++format.cc
119 endif
120 FORMAT_SOURCE += \
121   format-invalid.h \
122   format-c.c format-c-parse.h \
123   format-sh.c \
124   format-python.c \
125   format-python-brace.c \
126   format-lisp.c \
127   format-elisp.c \
128   format-librep.c \
129   format-scheme.c \
130   format-java.c \
131   format-csharp.c \
132   format-awk.c \
133   format-pascal.c \
134   format-ycp.c \
135   format-tcl.c \
136   format-perl.c \
137   format-perl-brace.c \
138   format-php.c \
139   format-gcc-internal.c \
140   format-gfc-internal.c \
141   format-qt.c \
142   format-qt-plural.c \
143   format-kde.c \
144   format-kde-kuit.c \
145   format-boost.c \
146   format-lua.c \
147   format-javascript.c
148
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 \
156 $(FORMAT_SOURCE) \
157 read-desktop.c locating-rule.c its.c
158
159 # msggrep needs pattern matching.
160 LIBGREP = ../libgrep/libgrep.a
161
162 # Source dependencies.
163 msgcmp_SOURCES = msgcmp.c
164 msgcmp_SOURCES += msgl-fsearch.c
165 msgfmt_SOURCES = msgfmt.c
166 msgfmt_SOURCES += \
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
170 if !WOE32DLL
171 msgmerge_SOURCES = msgmerge.c
172 else
173 msgmerge_SOURCES = ../woe32dll/c++msgmerge.cc
174 endif
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
179 if !WOE32DLL
180 xgettext_SOURCES = xgettext.c
181 else
182 xgettext_SOURCES = ../woe32dll/c++xgettext.cc
183 endif
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 \
188   x-desktop.c
189 if !WOE32DLL
190 msgattrib_SOURCES = msgattrib.c
191 else
192 msgattrib_SOURCES = ../woe32dll/c++msgattrib.cc
193 endif
194 if !WOE32DLL
195 msgcat_SOURCES = msgcat.c
196 else
197 msgcat_SOURCES = ../woe32dll/c++msgcat.cc
198 endif
199 if !WOE32DLL
200 msgcomm_SOURCES = msgcomm.c
201 else
202 msgcomm_SOURCES = ../woe32dll/c++msgcomm.cc
203 endif
204 if !WOE32DLL
205 msgconv_SOURCES = msgconv.c
206 else
207 msgconv_SOURCES = ../woe32dll/c++msgconv.cc
208 endif
209 if !WOE32DLL
210 msgen_SOURCES = msgen.c
211 else
212 msgen_SOURCES = ../woe32dll/c++msgen.cc
213 endif
214 msgexec_SOURCES = msgexec.c
215 if !WOE32DLL
216 msgfilter_SOURCES = msgfilter.c
217 else
218 msgfilter_SOURCES = ../woe32dll/c++msgfilter.cc
219 endif
220 msgfilter_SOURCES += filter-sr-latin.c
221 msgfilter_SOURCES += filter-quote.c
222 if !WOE32DLL
223 msggrep_SOURCES = msggrep.c
224 else
225 msggrep_SOURCES = ../woe32dll/c++msggrep.cc
226 endif
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
235 if !WOE32DLL
236 msguniq_SOURCES = msguniq.c
237 else
238 msguniq_SOURCES = ../woe32dll/c++msguniq.cc
239 endif
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)
246
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
251 # was given.
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
254 # use iconv().
255 libgettextsrc_la_LDFLAGS = \
256   -release @VERSION@ \
257   ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined
258
259 libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS) $(INCXML)
260
261 # Tell the mingw or Cygwin linker which symbols to export.
262 if WOE32DLL
263 libgettextsrc_la_SOURCES += ../woe32dll/gettextsrc-exports.c
264 libgettextsrc_la_LDFLAGS += -Wl,--export-all-symbols
265 libgettextsrc_la_CPPFLAGS += $(GETTEXTLIB_EXPORTS_FLAGS)
266 endif
267
268 # No need to install libgettextsrc.a, except on AIX.
269 install-exec-hook: install-exec-clean
270 install-exec-clean:
271         case "@host_os@" in \
272           aix*) ;; \
273           *) $(RM) $(DESTDIR)$(libdir)/libgettextsrc.a ;; \
274         esac
275
276 # Compile-time flags for particular source files.
277 msgmerge_CFLAGS = $(AM_CFLAGS) $(OPENMP_CFLAGS)
278 msgmerge_CXXFLAGS = $(AM_CXXFLAGS) $(OPENMP_CFLAGS)
279
280 # Link dependencies.
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)
299
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)
319
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)`
360 endif
361
362 # Linking with C++ libraries is needed _only_ on mingw and Cygwin.
363 if !WOE32DLL
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) \
367         -o $@
368 msgattrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
369         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
370         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \
371         -o $@
372 msgcat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
373         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
374         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \
375         -o $@
376 msgcomm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
377         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
378         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \
379         -o $@
380 msgconv_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
381         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
382         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \
383         -o $@
384 msgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
385         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
386         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \
387         -o $@
388 msgfilter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
389         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
390         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \
391         -o $@
392 msggrep_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
393         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
394         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \
395         -o $@
396 msgmerge_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
397         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
398         $(CCLD) $(msgmerge_CFLAGS) $(CFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \
399         -o $@
400 msguniq_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
401         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
402         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \
403         -o $@
404 xgettext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
405         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
406         $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \
407         -o $@
408 else
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) \
412         -o $@
413 msgattrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
414         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
415         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgattrib_LDFLAGS) $(LDFLAGS) \
416         -o $@
417 msgcat_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
418         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
419         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcat_LDFLAGS) $(LDFLAGS) \
420         -o $@
421 msgcomm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
422         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
423         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgcomm_LDFLAGS) $(LDFLAGS) \
424         -o $@
425 msgconv_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
426         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
427         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgconv_LDFLAGS) $(LDFLAGS) \
428         -o $@
429 msgen_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
430         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
431         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgen_LDFLAGS) $(LDFLAGS) \
432         -o $@
433 msgfilter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
434         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
435         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msgfilter_LDFLAGS) $(LDFLAGS) \
436         -o $@
437 msggrep_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
438         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
439         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msggrep_LDFLAGS) $(LDFLAGS) \
440         -o $@
441 msgmerge_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
442         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
443         $(CXXLD) $(msgmerge_CXXFLAGS) $(CXXFLAGS) $(msgmerge_LDFLAGS) $(LDFLAGS) \
444         -o $@
445 msguniq_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
446         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
447         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(msguniq_LDFLAGS) $(LDFLAGS) \
448         -o $@
449 xgettext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
450         $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
451         $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(xgettext_LDFLAGS) $(LDFLAGS) \
452         -o $@
453 endif
454
455 # Special rules for bison and flex generated files.
456
457 BUILT_SOURCES = \
458   po-gram-gen.c po-gram-gen.h po-gram-gen2.h cldr-plural.c cldr-plural.h
459
460 po-lex.o po-lex.lo: po-gram-gen2.h
461 po-gram-gen2.h: po-gram-gen.h
462         srcdir=''; \
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 && \
466         mv $@-tmp $@
467 po-gram-gen.h: po-gram-gen.c
468
469
470 # Special rules for installation of auxiliary programs.
471
472 install-exec-local:
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
479
480 installdirs-local:
481         $(MKDIR_P) $(DESTDIR)$(pkglibdir)
482
483 uninstall-local:
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
489
490 DISTCLEANFILES += user-email
491
492
493 # Special rules for Java compilation.
494
495 USEJAVA = $(USEJAVA_@BUILDJAVAEXE@)
496 USEJAVA_yes = 1
497 USEJAVA_no = $(USEJAVA_no_@BUILDJAVA@)
498 USEJAVA_no_yes = 1
499 USEJAVA_no_no = 0
500
501 USEJEXE = $(USEJEXE_@BUILDJAVAEXE@)
502 USEJEXE_yes = 1
503 USEJEXE_no = 0
504
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
509 all-java-no-no:
510
511 gnu.gettext.DumpResource$(EXEEXT): $(srcdir)/gnu/gettext/DumpResource.java
512         $(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/DumpResource.java --main=gnu.gettext.DumpResource -o $@
513
514 gnu.gettext.GetURL$(EXEEXT): $(srcdir)/gnu/gettext/GetURL.java
515         $(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/GetURL.java --main=gnu.gettext.GetURL -o $@
516
517 gnu/gettext/DumpResource.class: $(srcdir)/gnu/gettext/DumpResource.java
518         $(JAVACOMP) -d . $(srcdir)/gnu/gettext/DumpResource.java
519
520 gnu/gettext/GetURL.class: $(srcdir)/gnu/gettext/GetURL.java
521         $(JAVACOMP) -d . $(srcdir)/gnu/gettext/GetURL.java
522
523 gettext.jar: gnu/gettext/DumpResource.class gnu/gettext/GetURL.class
524         $(JAR) cf $@ gnu/gettext/DumpResource*.class gnu/gettext/GetURL*.class
525
526 EXTRA_DIST += gnu/gettext/DumpResource.java gnu/gettext/GetURL.java
527
528 CLEANFILES += gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT) \
529               gettext.jar gnu/gettext/*.class
530
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:
537
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:
544
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:
552
553 uninstall-local: uninstall-java-@BUILDJAVAEXE@
554 uninstall-java-yes:
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:
561
562
563 # Special rules for C# auxiliary programs.
564
565 EXTRA_DIST += msgfmt.cs msgunfmt.cs
566
567 CLEANFILES += \
568   msgfmt.net.exe msgfmt.net.exe.mdb \
569   msgunfmt.net.exe msgunfmt.net.exe.mdb
570
571 all-local: all-csharp-@BUILDCSHARP@
572 all-csharp-yes: msgfmt.net.exe msgunfmt.net.exe
573 all-csharp-no:
574
575 msgfmt.net.exe: msgfmt.cs
576         $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(srcdir)/msgfmt.cs
577
578 msgunfmt.net.exe: msgunfmt.cs
579         $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ -L ../../gettext-runtime/intl-csharp -l GNU.Gettext $(srcdir)/msgunfmt.cs
580
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)
588
589 installdirs-local: install-csharp
590 installdirs-csharp:
591         $(MKDIR_P) $(DESTDIR)$(pkglibdir)
592
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
597 uninstall-csharp-no:
598
599
600 # Special rules for Tcl auxiliary program.
601
602 EXTRA_DIST += msgunfmt.tcl
603
604 install-data-local: install-tcl
605 install-tcl:
606         $(MKDIR_P) $(DESTDIR)$(pkgdatadir)
607         $(INSTALL_DATA) $(srcdir)/msgunfmt.tcl $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
608
609 installdirs-local: installdirs-tcl
610 installdirs-tcl:
611         $(MKDIR_P) $(DESTDIR)$(pkgdatadir)
612
613 uninstall-local: uninstall-tcl
614 uninstall-tcl:
615         $(RM) $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
616
617
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 = :
624
625 # Version information according to Woe32 conventions.
626 if WOE32
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
631 else
632 WOE32_LDADD =
633 endif