1
## Makefile for the gettext-tools/src subdirectory of GNU gettext
2
## Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
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 2, or (at your option)
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.
14
## You should have received a copy of the GNU General Public License
15
## along with this program; if not, write to the Free Software
16
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
## Process this file with automake to produce Makefile.in.
20
AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies
28
msgcmp msgfmt msgmerge msgunfmt xgettext \
29
msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq
31
noinst_PROGRAMS = hostname urlget
33
lib_LTLIBRARIES = libgettextsrc.la libgettextpo.la
35
include_HEADERS = gettext-po.h
37
noinst_HEADERS = pos.h message.h po-gram.h po-hash.h po-charset.h po-lex.h \
38
open-po.h read-po-abstract.h read-po.h read-properties.h read-stringtable.h \
39
str-list.h write-po.h write-properties.h write-stringtable.h dir-list.h \
40
file-list.h po-gram-gen.h po-gram-gen2.h po-hash-gen.h msgl-charset.h \
41
msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-cat.h msgl-english.h msgfmt.h \
42
msgunfmt.h plural-count.h read-mo.h write-mo.h read-java.h write-java.h \
43
read-csharp.h write-csharp.h read-resources.h write-resources.h read-tcl.h \
44
write-tcl.h write-qt.h po-time.h plural-table.h format.h \
45
xgettext.h x-c.h x-po.h x-sh.h x-python.h x-lisp.h x-elisp.h x-librep.h \
46
x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h x-tcl.h \
47
x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h
49
EXTRA_DIST += FILES project-id ChangeLog.0
51
localedir = $(datadir)/locale
52
aliaspath = $(localedir)
53
jardir = $(datadir)/gettext
54
pkgdatadir = $(datadir)/gettext
55
projectsdir = $(pkgdatadir)/projects
56
pkglibdir = $(libdir)/gettext
61
-I$(top_srcdir)/libuniname \
62
-I../lib -I$(top_srcdir)/lib \
63
-I../intl -I$(top_srcdir)/../gettext-runtime/intl
65
-DLOCALEDIR=\"$(localedir)\" \
66
-DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
67
-DUSEJEXE=$(USEJEXE) \
68
-DGETTEXTJEXEDIR=\"$(pkglibdir)\" \
69
-DGETTEXTJAR=\"$(jardir)/gettext.jar\" \
70
-DLIBDIR=\"$(libdir)\" \
71
-DGETTEXTDATADIR=\"$(pkgdatadir)\" \
72
-DPROJECTSDIR=\"$(projectsdir)\" @DEFS@
73
LDADD = ../lib/libgettextlib.la @LTLIBINTL@
80
JAVACOMP = $(SHELL) ../lib/javacomp.sh
81
CSHARPCOMP = $(SHELL) ../lib/csharpcomp.sh
82
CSHARPCOMPFLAGS = -O -g
85
# All programs deal with message lists.
86
# All programs must read PO files. (msgunfmt also, for read-java.c,
87
# read-csharp.c and read-resources.c.)
88
# message.c -> str-list.c.
89
# (read-po-abstract.c <--> po-hash-gen.y <--> po-gram-gen.y <--> po-lex.c) -> str-list.c.
90
# (read-po-abstract.c <--> po-hash-gen.y <--> po-gram-gen.y <--> po-lex.c) -> open-po.c -> dir-list.c -> str-list.c.
91
# (read-po-abstract.c <--> po-hash-gen.y <--> po-gram-gen.y <--> po-lex.c) -> po-charset.c.
92
# (read-po-abstract.c <--> po-hash-gen.y <--> po-gram-gen.y <--> po-lex.c) -> message.c -> str-list.c.
93
COMMON_SOURCE = message.c \
94
read-po-abstract.c po-lex.c po-gram-gen.y po-hash-gen.y po-charset.c \
95
read-properties.c read-stringtable.c open-po.c dir-list.c str-list.c
97
# xgettext and msgfmt deal with format strings.
98
FORMAT_SOURCE = format.c format-invalid.h \
99
format-c.c format-sh.c format-python.c format-lisp.c format-elisp.c \
100
format-librep.c format-java.c format-csharp.c format-awk.c format-pascal.c \
101
format-ycp.c format-tcl.c format-perl.c format-perl-brace.c format-php.c \
102
format-gcc-internal.c format-qt.c
104
# libgettextsrc contains all code that is needed by at least two programs.
105
libgettextsrc_la_SOURCES = \
106
$(COMMON_SOURCE) read-po.c write-properties.c write-stringtable.c write-po.c \
107
msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c msgl-english.c file-list.c \
108
msgl-charset.c po-time.c plural.c plural-table.c $(FORMAT_SOURCE)
110
# libgettextpo contains the public API for PO files.
111
libgettextpo_la_SOURCES = gettext-po.c
112
# Libtool's library version information for libgettextpo.
113
# See the libtool documentation, section "Library interface versions".
118
# x-python needs table of Unicode character names.
119
LIBUNINAME = ../libuniname/libuniname.a
121
# Source dependencies.
122
msgcmp_SOURCES = msgcmp.c
123
msgfmt_SOURCES = msgfmt.c \
124
write-mo.c write-java.c write-csharp.c write-resources.c write-tcl.c \
125
write-qt.c plural-eval.c
126
msgmerge_SOURCES = msgmerge.c plural-count.c
127
msgunfmt_SOURCES = msgunfmt.c \
128
read-mo.c read-java.c read-csharp.c read-resources.c read-tcl.c
129
xgettext_SOURCES = xgettext.c \
130
x-c.c x-po.c x-sh.c x-python.c x-lisp.c x-elisp.c x-librep.c x-smalltalk.c \
131
x-java.c x-csharp.c x-awk.c x-ycp.c x-tcl.c x-perl.c x-php.c x-rst.c \
133
msgattrib_SOURCES = msgattrib.c
134
msgcat_SOURCES = msgcat.c
135
msgcomm_SOURCES = msgcomm.c
136
msgconv_SOURCES = msgconv.c
137
msgen_SOURCES = msgen.c
138
msgexec_SOURCES = msgexec.c
139
msgfilter_SOURCES = msgfilter.c
140
msggrep_SOURCES = msggrep.c
141
msginit_SOURCES = msginit.c ../../gettext-runtime/intl/localealias.c
142
msguniq_SOURCES = msguniq.c
143
hostname_SOURCES = hostname.c
144
urlget_SOURCES = urlget.c
146
# How to build libgettextsrc.la.
147
# Need ../lib/libgettextlib.la.
148
# Need @LTLIBINTL@ because many source files use gettext().
149
# Need @LTLIBICONV@ because po-charset.c, po-lex.c, msgl-iconv.c, write-po.c
151
libgettextsrc_la_LDFLAGS = \
153
../lib/libgettextlib.la @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined
155
# No need to install libgettextsrc.a.
156
install-exec-local: install-libLTLIBRARIES install-exec-clean
158
$(RM) $(DESTDIR)$(libdir)/libgettextsrc.a
160
# How to build libgettextpo.la.
161
# Need libgettextsrc.la.
162
# Need ../lib/libgettextlib.la because of xmalloc.
163
libgettextpo_la_LDFLAGS = \
164
-version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
166
libgettextsrc.la ../lib/libgettextlib.la -lc -no-undefined
167
# Build order. Only needed for "make -j[N]".
168
libgettextpo_la_DEPENDENCIES = libgettextsrc.la
171
msgcmp_LDADD = libgettextsrc.la
172
msgfmt_LDADD = libgettextsrc.la
173
msgmerge_LDADD = libgettextsrc.la
174
msgunfmt_LDADD = libgettextsrc.la
175
xgettext_LDADD = $(LIBUNINAME) libgettextsrc.la @LTLIBEXPAT@
176
msgattrib_LDADD = libgettextsrc.la
177
msgcat_LDADD = libgettextsrc.la
178
msgcomm_LDADD = libgettextsrc.la
179
msgconv_LDADD = libgettextsrc.la
180
msgen_LDADD = libgettextsrc.la
181
msgexec_LDADD = libgettextsrc.la
182
msgfilter_LDADD = libgettextsrc.la
183
msggrep_LDADD = libgettextsrc.la
184
msginit_LDADD = ../intl/localename.@INTL_LIBTOOL_SUFFIX_PREFIX@o \
186
msguniq_LDADD = libgettextsrc.la
188
# Specify installation directory, for --enable-relocatable.
189
msgcmp_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
190
msgfmt_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
191
msgmerge_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
192
msgunfmt_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
193
xgettext_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
194
msgattrib_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
195
msgcat_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
196
msgcomm_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
197
msgconv_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
198
msgen_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
199
msgexec_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
200
msgfilter_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
201
msggrep_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
202
msginit_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
203
msguniq_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
204
hostname_CFLAGS = -DINSTALLDIR=\"$(pkglibdir)\"
205
urlget_CFLAGS = -DINSTALLDIR=\"$(pkglibdir)\"
206
if RELOCATABLE_VIA_LD
207
msgcmp_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
208
msgfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
209
msgmerge_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
210
msgunfmt_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
211
xgettext_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
212
msgattrib_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
213
msgcat_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
214
msgcomm_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
215
msgconv_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
216
msgen_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
217
msgexec_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
218
msgfilter_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
219
msggrep_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
220
msginit_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
221
msguniq_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
222
hostname_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
223
urlget_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
226
# Special rules for bison and flex generated files.
229
po-gram-gen.c po-gram-gen.h po-gram-gen2.h \
230
po-hash-gen.c po-hash-gen.h
232
po-lex.o po-lex.lo: po-gram-gen2.h
233
po-gram-gen2.h: po-gram-gen.h
234
$(SED) -e 's/yy/po_gram_/g' -e 's/extern /extern DLL_VARIABLE /' $(srcdir)/po-gram-gen.h > $@-tmp
238
# Special rules for installation of auxiliary programs.
241
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
242
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) hostname$(EXEEXT) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
243
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) urlget$(EXEEXT) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
244
$(INSTALL_SCRIPT) user-email $(DESTDIR)$(pkglibdir)/user-email
245
$(INSTALL_SCRIPT) $(srcdir)/project-id $(DESTDIR)$(pkglibdir)/project-id
248
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
251
$(RM) $(DESTDIR)$(pkglibdir)/hostname$(EXEEXT)
252
$(RM) $(DESTDIR)$(pkglibdir)/urlget$(EXEEXT)
253
$(RM) $(DESTDIR)$(pkglibdir)/user-email
254
$(RM) $(DESTDIR)$(pkglibdir)/project-id
256
DISTCLEANFILES += user-email
259
# Special rules for Java compilation.
261
USEJEXE = $(USEJEXE_@BUILDJAVAEXE@)
265
all-local: all-java-@BUILDJAVAEXE@
266
all-java-yes: gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT)
267
all-java-no: all-java-no-@BUILDJAVA@
268
all-java-no-yes: gettext.jar
271
gnu.gettext.DumpResource$(EXEEXT): $(srcdir)/gnu/gettext/DumpResource.java
272
$(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/DumpResource.java --main=gnu.gettext.DumpResource -o $@
274
gnu.gettext.GetURL$(EXEEXT): $(srcdir)/gnu/gettext/GetURL.java
275
$(GCJ) $(GCJFLAGS) $(srcdir)/gnu/gettext/GetURL.java --main=gnu.gettext.GetURL -o $@
277
gnu/gettext/DumpResource.class: $(srcdir)/gnu/gettext/DumpResource.java
278
$(JAVACOMP) -d . $(srcdir)/gnu/gettext/DumpResource.java
280
gnu/gettext/GetURL.class: $(srcdir)/gnu/gettext/GetURL.java
281
$(JAVACOMP) -d . $(srcdir)/gnu/gettext/GetURL.java
283
gettext.jar: gnu/gettext/DumpResource.class gnu/gettext/GetURL.class
284
$(JAR) cf $@ gnu/gettext/DumpResource*.class gnu/gettext/GetURL*.class
286
EXTRA_DIST += gnu/gettext/DumpResource.java gnu/gettext/GetURL.java
288
CLEANFILES += gnu.gettext.DumpResource$(EXEEXT) gnu.gettext.GetURL$(EXEEXT) \
289
gettext.jar gnu/gettext/*.class
291
install-exec-local: install-exec-java-@BUILDJAVAEXE@
292
install-exec-java-yes: all-java-yes
293
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
294
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gnu.gettext.DumpResource$(EXEEXT) $(DESTDIR)$(pkglibdir)/gnu.gettext.DumpResource$(EXEEXT)
295
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) gnu.gettext.GetURL$(EXEEXT) $(DESTDIR)$(pkglibdir)/gnu.gettext.GetURL$(EXEEXT)
296
install-exec-java-no:
298
install-data-local: install-data-java-@BUILDJAVAEXE@
299
install-data-java-yes:
300
install-data-java-no: install-data-java-no-@BUILDJAVA@
301
install-data-java-no-yes: all-java-no-yes
302
$(INSTALL_DATA) gettext.jar $(DESTDIR)$(jardir)/gettext.jar
303
install-data-java-no-no:
305
installdirs-local: installdirs-java-@BUILDJAVAEXE@
306
installdirs-java-yes:
307
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
308
installdirs-java-no: installdirs-java-no-@BUILDJAVA@
309
installdirs-java-no-yes:
310
$(mkinstalldirs) $(DESTDIR)$(jardir)
311
installdirs-java-no-no:
313
uninstall-local: uninstall-java-@BUILDJAVAEXE@
315
$(RM) $(DESTDIR)$(pkglibdir)/gnu.gettext.DumpResource$(EXEEXT)
316
$(RM) $(DESTDIR)$(pkglibdir)/gnu.gettext.GetURL$(EXEEXT)
317
uninstall-java-no: uninstall-java-no-@BUILDJAVA@
318
uninstall-java-no-yes:
319
$(RM) $(DESTDIR)$(jardir)/gettext.jar
320
uninstall-java-no-no:
323
# Special rules for C# auxiliary programs.
325
EXTRA_DIST += msgfmt.cs msgunfmt.cs
327
CLEANFILES += msgfmt.net.exe msgunfmt.net.exe
329
all-local: all-csharp-@BUILDCSHARP@
330
all-csharp-yes: msgfmt.net.exe msgunfmt.net.exe
333
msgfmt.net.exe: msgfmt.cs
334
$(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(srcdir)/msgfmt.cs
336
msgunfmt.net.exe: msgunfmt.cs
337
$(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ -L ../../gettext-runtime/intl-csharp -l GNU.Gettext $(srcdir)/msgunfmt.cs
339
install-exec-local: install-exec-csharp-@BUILDCSHARP@
340
install-exec-csharp-yes: all-csharp-yes
341
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
342
$(INSTALL_DATA) msgfmt.net.exe $(DESTDIR)$(pkglibdir)/msgfmt.net.exe
343
$(INSTALL_DATA) msgunfmt.net.exe $(DESTDIR)$(pkglibdir)/msgunfmt.net.exe
344
install-exec-csharp-no:
345
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
347
installdirs-local: install-csharp
349
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
351
uninstall-local: uninstall-csharp-@BUILDCSHARP@
352
uninstall-csharp-yes: all-csharp-yes
353
$(RM) $(DESTDIR)$(pkglibdir)/msgfmt.net.exe
354
$(RM) $(DESTDIR)$(pkglibdir)/msgunfmt.net.exe
358
# Special rules for Tcl auxiliary program.
360
EXTRA_DIST += msgunfmt.tcl
362
install-data-local: install-tcl
364
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
365
$(INSTALL_DATA) $(srcdir)/msgunfmt.tcl $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
367
installdirs-local: installdirs-tcl
369
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
371
uninstall-local: uninstall-tcl
373
$(RM) $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
376
# Support for relocatability.
377
RELOCATABLE_LIBRARY_PATH = $(libdir)
378
RELOCATABLE_SRC_DIR = $(top_srcdir)/lib
379
RELOCATABLE_BUILD_DIR = ../lib
380
RELOCATABLE_CONFIG_H_DIR = ..
386
EXTRA_DIST += Makefile.vms
391
EXTRA_DIST += Makefile.msvc