1 # Makefile for directory with message catalog handling library 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 it
5 # under the terms of the GNU Library General Public License as published
6 # by 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 GNU
12 # Library General Public License for more details.
14 # You should have received a copy of the GNU Library General Public
15 # License along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
19 # This Makefile has been modified from the original shipped with
20 # gettext 0.12.1 to remove the ability to install libintl (which
21 # we do not need nor want), the ability to build a shared library
22 # (likewise), and a large number of heinous kludges.
30 exec_prefix = @exec_prefix@
31 transform = @program_transform_name@
33 includedir = @includedir@
35 localedir = $(datadir)/locale
36 aliaspath = $(localedir)
41 AUTOHEADER = @AUTOHEADER@
44 YACC = @INTLBISON@ -y -d
45 YFLAGS = --name-prefix=__gettext
50 DEFS = -DHAVE_CONFIG_H
52 COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(DEFS-$@) $(INCLUDES)
111 DEFS-dcigettext.o = -DLOCALEDIR="\"$(localedir)\""
112 DEFS-localealias.o = -DLOCALE_ALIAS_PATH="\"$(aliaspath)\""
113 DEFS-localcharset.o = -DLIBDIR="\"$(libdir)\""
114 DEFS-relocatable.o = -DINSTALLDIR="\"$(libdir)\""
116 all: all-@USE_INCLUDED_LIBINTL@
117 all-yes: libintl.a libintl.h config.intl
120 libintl.a: $(OBJECTS)
122 $(AR) cru $@ $(OBJECTS)
125 libintl.h: $(srcdir)/libgnuintl.h
126 cp $(srcdir)/libgnuintl.h $@
135 $(YACC) $(YFLAGS) --output $@ $<
138 INCLUDES = -I. -I$(srcdir)
142 # The installation targets have been disabled.
143 install: install-exec install-data
146 install-strip: install
151 .PHONY: info dvi ps pdf html
152 .PHONY: install-info install-dvi install-ps install-pdf install-html
154 info dvi ps pdf html:
155 install-info install-dvi install-ps install-pdf install-html:
157 $(OBJECTS): config.h libintl.h
158 bindtextdom.o dcgettext.o dcigettext.o dcngettext.o dgettext.o \
159 dngettext.o finddomain.o gettext.o intl-compat.o loadmsgcat.o \
160 localealias.o ngettext.o textdomain.o: gettextP.h gmo.h loadinfo.h
161 dcigettext.o loadmsgcat.o: hash-string.h
162 explodename.o l10nflist.o: loadinfo.h
163 dcigettext.o loadmsgcat.o plural.o plural-exp.o: plural-exp.h
164 dcigettext.o: eval-plural.h
165 localcharset.o: localcharset.h
166 localealias.o localcharset.o relocatable.o: relocatable.h
169 TAGS: $(HEADERS) $(SOURCES)
170 here=`pwd`; cd $(srcdir) && \
171 etags -o $$here/TAGS $(HEADERS) $(SOURCES)
174 CTAGS: $(HEADERS) $(SOURCES)
175 here=`pwd`; cd $(srcdir) && \
176 ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
179 ID: $(HEADERS) $(SOURCES)
180 here=`pwd`; cd $(srcdir) && \
181 mkid -f$$here/ID $(HEADERS) $(SOURCES)
184 rm -f *.a *.la *.o *.obj *.lo core core.* libintl.h
189 rm -f config.status config.cache config.log config.intl config.h
190 rm -f Makefile ID TAGS
192 maintainer-clean: distclean
194 # The 'make dist' targets have been disabled; the GNU toolchain handles this
195 # with a script maintained separately from the Makefile.
199 # Rules to rebuild the configuration
201 Makefile: $(srcdir)/Makefile.in config.status
202 $(SHELL) ./config.status Makefile
204 config.intl: $(srcdir)/config.intl.in config.status
205 $(SHELL) ./config.status config.intl
207 config.status: $(srcdir)/configure
208 $(SHELL) ./config.status --recheck
210 $(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
211 cd $(srcdir) && $(AUTOCONF)
213 $(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/configure.ac \
214 $(srcdir)/../config/codeset.m4 $(srcdir)/../config/gettext.m4 \
215 $(srcdir)/../config/glibc21.m4 $(srcdir)/../config/iconv.m4 \
216 $(srcdir)/../config/intdiv0.m4 $(srcdir)/../config/inttypes-pri.m4 \
217 $(srcdir)/../config/inttypes.m4 $(srcdir)/../config/inttypes_h.m4 \
218 $(srcdir)/../config/lcmessage.m4 $(srcdir)/../config/lib-ld.m4 \
219 $(srcdir)/../config/lib-link.m4 $(srcdir)/../config/lib-prefix.m4 \
220 $(srcdir)/../config/nls.m4 $(srcdir)/../config/po.m4 \
221 $(srcdir)/../config/progtest.m4 $(srcdir)/../config/stdint_h.m4 \
222 $(srcdir)/../config/uintmax_t.m4 $(srcdir)/../config/ulonglong.m4
223 cd $(srcdir) && $(ACLOCAL) -I ../config
226 test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1)
228 stamp-h1: $(srcdir)/config.h.in config.status
230 $(SHELL) ./config.status config.h
232 $(srcdir)/config.h.in: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
233 cd $(srcdir) && $(AUTOHEADER)
236 # Tell versions [3.59,3.63) of GNU make not to export all variables.
237 # Otherwise a system limit (for SysV at least) may be exceeded.