1 # Makefile for directory with message catalog handling in GNU NLS Utilities.
2 # Copyright (C) 1995, 1996, 1997 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.
24 top_srcdir = @top_srcdir@
29 exec_prefix = @exec_prefix@
30 transform = @program_transform_name@
31 libdir = $(exec_prefix)/lib
32 includedir = $(prefix)/include
33 datadir = $(prefix)/@DATADIRNAME@
34 localedir = $(datadir)/locale
35 gnulocaledir = $(prefix)/share/locale
36 gettextsrcdir = @datadir@/gettext/intl
37 aliaspath = $(localedir):.
41 INSTALL_DATA = @INSTALL_DATA@
42 MKINSTALLDIRS = @MKINSTALLDIRS@
51 DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
52 -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
57 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
59 HEADERS = $(COMHDRS) libgettext.h loadinfo.h
60 COMHDRS = gettext.h gettextP.h hash-string.h
61 SOURCES = $(COMSRCS) intl-compat.c cat-compat.c
62 COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
63 finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
65 OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
66 finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
68 CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo
69 GETTOBJS = intl-compat.$lo
70 DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \
71 xopen-msg.sed $(HEADERS) $(SOURCES)
72 DISTFILES.normal = VERSION
73 DISTFILES.gettext = libintl.glibc intlh.inst.in
80 $(LIBTOOL) --mode=compile $(COMPILE) $<
82 INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib
84 all: all-@USE_INCLUDED_LIBINTL@
86 all-yes: libintl.$la intlh.inst
91 $(AR) cru $@ $(OBJECTS)
94 libintl.la: $(OBJECTS)
95 $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \
96 -version-info 1:0 -rpath $(libdir)
98 ../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot
99 cd ../po && $(MAKE) cat-id-tbl.$lo
103 # This installation goal is only used in GNU gettext. Packages which
104 # only use the library should use install instead.
106 # We must not install the libintl.h/libintl.a files if we are on a
107 # system which has the gettext() function in its C library or in a
108 # separate library or use the catgets interface. A special case is
109 # where configure found a previously installed GNU gettext library.
110 # If you want to use the one which comes with this version of the
111 # package, you have to use `configure --with-included-gettext'.
112 install: install-exec install-data
114 if test "$(PACKAGE)" = "gettext" \
115 && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
116 if test -r $(MKINSTALLDIRS); then \
117 $(MKINSTALLDIRS) $(libdir) $(includedir); \
119 $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \
121 $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \
122 $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
127 if test "$(PACKAGE)" = "gettext"; then \
128 if test -r $(MKINSTALLDIRS); then \
129 $(MKINSTALLDIRS) $(gettextsrcdir); \
131 $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
133 $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
134 dists="$(DISTFILES.common)"; \
135 for file in $$dists; do \
136 $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
142 # Define this as empty until I found a useful application.
146 dists="$(DISTFILES.common)"; \
147 for file in $$dists; do \
148 rm -f $(gettextsrcdir)/$$file; \
153 $(OBJECTS): $(top_builddir)/config.h libgettext.h
154 bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
155 dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
159 TAGS: $(HEADERS) $(SOURCES)
160 here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
164 ID: $(HEADERS) $(SOURCES)
165 here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
169 rm -f *.a *.o *.lo core core.*
174 rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h
176 maintainer-clean: distclean
177 @echo "This command is intended for maintainers to use;"
178 @echo "it deletes files that may require special tools to rebuild."
181 # GNU gettext needs not contain the file `VERSION' but contains some
182 # other files which should not be distributed in other packages.
183 distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
184 dist distdir: Makefile $(DISTFILES)
185 if test "$(PACKAGE)" = gettext; then \
186 additional="$(DISTFILES.gettext)"; \
188 additional="$(DISTFILES.normal)"; \
190 for file in $(DISTFILES.common) $$additional; do \
191 ln $(srcdir)/$$file $(distdir) 2> /dev/null \
192 || cp -p $(srcdir)/$$file $(distdir); \
195 distcopy: Makefile $(DISTFILES)
196 additional="$(DISTFILES.normal)";
197 for file in $(DISTFILES.common) $$additional; do \
198 ln $(srcdir)/$$file ../$(distdir) 2> /dev/null \
199 || cp -p $(srcdir)/$$file ../$(distdir); \
203 tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc
205 Makefile: Makefile.in $(top_builddir)/config.status
207 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
209 # The dependency for intlh.inst is different in gettext and all other
210 # packages. Because we cannot you GNU make features we have to solve
211 # the problem while rewriting Makefile.in.
212 @GT_YES@intlh.inst: intlh.inst.in $(top_builddir)/config.status
213 @GT_YES@ cd $(top_builddir) \
214 @GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
215 @GT_YES@ $(SHELL) ./config.status
216 @GT_NO@.PHONY: intlh.inst
219 # Tell versions [3.59,3.63) of GNU make not to export all variables.
220 # Otherwise a system limit (for SysV at least) may be exceeded.