1# Makefile for directory with message catalog handling library of GNU gettext
2# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
3#
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)
7# 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 GNU
12# Library General Public License for more details.
13#
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,
17# USA.
18
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.
23
24SHELL = @SHELL@
25
26srcdir = @srcdir@
27VPATH = $(srcdir)
28
29prefix = @prefix@
30exec_prefix = @exec_prefix@
31transform = @program_transform_name@
32libdir = @libdir@
33includedir = @includedir@
34datadir = @datadir@
35localedir = $(datadir)/locale
36aliaspath = $(localedir)
37
38AR = ar
39ACLOCAL = @ACLOCAL@
40AUTOCONF = @AUTOCONF@
41AUTOHEADER = @AUTOHEADER@
42CC = @CC@
43RANLIB = @RANLIB@
44YACC = @INTLBISON@ -y -d
45YFLAGS = --name-prefix=__gettext
46CPPFLAGS = @CPPFLAGS@
47CFLAGS = @CFLAGS@
48LDFLAGS = @LDFLAGS@
49LIBS = @LIBS@
50DEFS = -DHAVE_CONFIG_H
51
52COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(DEFS-$@) $(INCLUDES)
53
54HEADERS = \
55  gmo.h \
56  gettextP.h \
57  hash-string.h \
58  loadinfo.h \
59  plural-exp.h \
60  eval-plural.h \
61  localcharset.h \
62  relocatable.h \
63  libgnuintl.h
64SOURCES = \
65  bindtextdom.c \
66  dcgettext.c \
67  dgettext.c \
68  gettext.c \
69  finddomain.c \
70  loadmsgcat.c \
71  localealias.c \
72  textdomain.c \
73  l10nflist.c \
74  explodename.c \
75  dcigettext.c \
76  dcngettext.c \
77  dngettext.c \
78  ngettext.c \
79  plural.y \
80  plural-exp.c \
81  localcharset.c \
82  relocatable.c \
83  localename.c \
84  log.c \
85  osdep.c \
86  intl-compat.c
87OBJECTS = \
88  bindtextdom.o \
89  dcgettext.o \
90  dgettext.o \
91  gettext.o \
92  finddomain.o \
93  loadmsgcat.o \
94  localealias.o \
95  textdomain.o \
96  l10nflist.o \
97  explodename.o \
98  dcigettext.o \
99  dcngettext.o \
100  dngettext.o \
101  ngettext.o \
102  plural.o \
103  plural-exp.o \
104  localcharset.o \
105  relocatable.o \
106  localename.o \
107  log.o \
108  osdep.o \
109  intl-compat.o
110
111DEFS-dcigettext.o = -DLOCALEDIR="\"$(localedir)\""
112DEFS-localealias.o = -DLOCALE_ALIAS_PATH="\"$(aliaspath)\""
113DEFS-localcharset.o = -DLIBDIR="\"$(libdir)\""
114DEFS-relocatable.o = -DINSTALLDIR="\"$(libdir)\""
115
116all: all-@USE_INCLUDED_LIBINTL@
117all-yes: libintl.a libintl.h config.intl
118all-no: # nothing
119
120libintl.a: $(OBJECTS)
121	rm -f $@
122	$(AR) cru $@ $(OBJECTS)
123	$(RANLIB) $@
124
125libintl.h: $(srcdir)/libgnuintl.h
126	cp $(srcdir)/libgnuintl.h $@
127
128.SUFFIXES:
129.SUFFIXES: .c .y .o
130
131.c.o:
132	$(COMPILE) $<
133
134.y.c:
135	$(YACC) $(YFLAGS) --output $@ $<
136	rm -f $*.h
137
138INCLUDES = -I. -I$(srcdir)
139
140check: all
141
142# The installation targets have been disabled.
143install: install-exec install-data
144install-exec: all
145install-data: all
146install-strip: install
147installdirs:
148installcheck:
149uninstall:
150
151.PHONY: info dvi ps pdf html
152.PHONY: install-info install-dvi install-ps install-pdf install-html
153
154info dvi ps pdf html:
155install-info install-dvi install-ps install-pdf install-html:
156
157$(OBJECTS): config.h libintl.h
158bindtextdom.o dcgettext.o dcigettext.o dcngettext.o dgettext.o \
159dngettext.o finddomain.o gettext.o intl-compat.o loadmsgcat.o \
160localealias.o ngettext.o textdomain.o: gettextP.h gmo.h loadinfo.h
161dcigettext.o loadmsgcat.o: hash-string.h
162explodename.o l10nflist.o: loadinfo.h
163dcigettext.o loadmsgcat.o plural.o plural-exp.o: plural-exp.h
164dcigettext.o: eval-plural.h
165localcharset.o: localcharset.h
166localealias.o localcharset.o relocatable.o: relocatable.h
167
168tags: TAGS
169TAGS: $(HEADERS) $(SOURCES)
170	here=`pwd`; cd $(srcdir) && \
171		etags -o $$here/TAGS $(HEADERS) $(SOURCES)
172
173ctags: CTAGS
174CTAGS: $(HEADERS) $(SOURCES)
175	here=`pwd`; cd $(srcdir) && \
176		ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
177
178id: ID
179ID: $(HEADERS) $(SOURCES)
180	here=`pwd`; cd $(srcdir) && \
181		mkid -f$$here/ID $(HEADERS) $(SOURCES)
182
183mostlyclean:
184	rm -f *.a *.la *.o *.obj *.lo core core.* libintl.h
185
186clean: mostlyclean
187
188distclean: clean
189	rm -f config.status config.cache config.log config.intl config.h
190	rm -f Makefile ID TAGS
191
192maintainer-clean: distclean
193
194# The 'make dist' targets have been disabled; the GNU toolchain handles this
195# with a script maintained separately from the Makefile.
196dist:
197distdir:
198
199# Rules to rebuild the configuration
200
201Makefile: $(srcdir)/Makefile.in config.status
202	$(SHELL) ./config.status Makefile
203
204config.intl: $(srcdir)/config.intl.in config.status
205	$(SHELL) ./config.status config.intl
206
207config.status: $(srcdir)/configure
208	$(SHELL) ./config.status --recheck
209
210$(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
211	cd $(srcdir) && $(AUTOCONF)
212
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
224
225config.h: stamp-h1
226	test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1)
227
228stamp-h1: $(srcdir)/config.h.in config.status
229	-rm -f stamp-h1
230	$(SHELL) ./config.status config.h
231
232$(srcdir)/config.h.in: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
233	cd $(srcdir) && $(AUTOHEADER)
234	-rm -f stamp-h1
235
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.
238.NOEXPORT:
239