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