Makefile.in revision 1.1.1.1
1# @configure_input@
2# Makefile for libcpp.  Run 'configure' to generate Makefile from Makefile.in
3
4# Copyright (C) 2004, 2008, 2009 Free Software Foundation, Inc.
5
6#This file is part of libcpp.
7
8#libcpp is free software; you can redistribute it and/or modify
9#it under the terms of the GNU General Public License as published by
10#the Free Software Foundation; either version 3, or (at your option)
11#any later version.
12
13#libcpp is distributed in the hope that it will be useful,
14#but WITHOUT ANY WARRANTY; without even the implied warranty of
15#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16#GNU General Public License for more details.
17
18#You should have received a copy of the GNU General Public License
19#along with libcpp; see the file COPYING3.  If not see
20#<http://www.gnu.org/licenses/>.
21
22@SET_MAKE@
23
24srcdir = @srcdir@
25top_builddir = .
26VPATH = @srcdir@
27INSTALL = @INSTALL@
28AR = ar
29ARFLAGS = cru
30ACLOCAL = @ACLOCAL@
31AUTOCONF = @AUTOCONF@
32AUTOHEADER = @AUTOHEADER@
33CATALOGS = $(patsubst %,po/%,@CATALOGS@)
34CC = @CC@
35CFLAGS = @CFLAGS@
36WARN_CFLAGS = @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@
37CXX = @CXX@
38CXXFLAGS = @CXXFLAGS@
39WARN_CXXFLAGS = @warn@ @WARN_PEDANTIC@ @WERROR@
40CPP = @CPP@
41CPPFLAGS = @CPPFLAGS@
42EXEEXT = @EXEEXT@
43GMSGFMT = @GMSGFMT@
44INCINTL = @INCINTL@
45INSTALL_DATA = @INSTALL_DATA@
46INSTALL_PROGRAM = @INSTALL_PROGRAM@
47INSTALL_SCRIPT = @INSTALL_SCRIPT@
48LDFLAGS = @LDFLAGS@
49LIBICONV = @LIBICONV@
50LIBINTL = @LIBINTL@
51PACKAGE = @PACKAGE@
52RANLIB = @RANLIB@
53SHELL = @SHELL@
54USED_CATALOGS = @USED_CATALOGS@
55XGETTEXT = @XGETTEXT@
56CCDEPMODE = @CCDEPMODE@
57CXXDEPMODE = @CXXDEPMODE@
58DEPDIR = @DEPDIR@
59
60datarootdir = @datarootdir@
61datadir = @datadir@
62exec_prefix = @prefix@
63libdir = @libdir@
64localedir = $(datadir)/locale
65prefix = @prefix@
66
67MSGMERGE = msgmerge
68mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
69depcomp = $(SHELL) $(srcdir)/../depcomp
70
71INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
72	-I$(srcdir)/include
73
74ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS)
75ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(INCLUDES) $(CPPFLAGS)
76
77# The name of the compiler to use.
78ENABLE_BUILD_WITH_CXX = @ENABLE_BUILD_WITH_CXX@
79ifneq ($(ENABLE_BUILD_WITH_CXX),yes)
80COMPILER = $(CC)
81COMPILER_FLAGS = $(ALL_CFLAGS)
82DEPMODE = $(CCDEPMODE)
83else
84COMPILER = $(CXX)
85COMPILER_FLAGS = $(ALL_CXXFLAGS)
86DEPMODE = $(CXXDEPMODE)
87endif
88
89
90libcpp_a_OBJS = charset.o directives.o directives-only.o errors.o \
91	expr.o files.o identifiers.o init.o lex.o line-map.o macro.o \
92	mkdeps.o pch.o symtab.o traditional.o
93
94libcpp_a_SOURCES = charset.c directives.c directives-only.c errors.c \
95	expr.c files.c identifiers.c init.c lex.c line-map.c macro.c \
96	mkdeps.c pch.c symtab.c traditional.c
97
98all: libcpp.a $(USED_CATALOGS)
99
100.SUFFIXES:
101.SUFFIXES: .c .gmo .o .obj .po .pox
102
103libcpp.a: $(libcpp_a_OBJS)
104	-rm -f libcpp.a
105	$(AR) $(ARFLAGS) libcpp.a $(libcpp_a_OBJS)
106	$(RANLIB) libcpp.a
107
108# Rules to rebuild the configuration
109
110Makefile: $(srcdir)/Makefile.in config.status
111	$(SHELL) ./config.status Makefile
112
113config.status: $(srcdir)/configure
114	$(SHELL) ./config.status --recheck
115
116$(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4
117	cd $(srcdir) && $(AUTOCONF)
118
119$(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/../config/acx.m4 \
120	$(srcdir)/../config/gettext-sister.m4 $(srcdir)/../config/iconv.m4 \
121	$(srcdir)/../config/codeset.m4 $(srcdir)/../config/lib-ld.m4 \
122	$(srcdir)/../config/lib-link.m4 $(srcdir)/../config/lib-prefix.m4 \
123	$(srcdir)/../config/override.m4 $(srcdir)/../config/proginstall.m4 \
124	$(srcdir)/configure.ac
125	cd $(srcdir) && $(ACLOCAL) -I ../config
126
127config.h: stamp-h1
128	test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1)
129
130stamp-h1: $(srcdir)/config.in config.status
131	-rm -f stamp-h1
132	$(SHELL) ./config.status config.h
133
134$(srcdir)/config.in: @MAINT@ $(srcdir)/configure.ac
135	cd $(srcdir) && $(AUTOHEADER)
136	-rm -f stamp-h1
137
138# It is not possible to get LOCALEDIR defined in config.h because
139# the value it needs to be defined to is only determined in the
140# Makefile.  Hence we do this instead.
141localedir.h: localedir.hs; @true
142localedir.hs: Makefile
143	echo "#define LOCALEDIR \"$(localedir)\"" > localedir.new
144	$(srcdir)/../move-if-change localedir.new localedir.h
145	echo timestamp > localedir.hs
146
147# Installation rules and other phony targets
148
149# These rule has to look for .gmo modules in both srcdir and
150# the cwd, and has to check that we actually have a catalog
151# for each language, in case they weren't built or included
152# with the distribution.
153installdirs:
154	@$(mkinstalldirs) $(DESTDIR)$(datadir); \
155	cats="$(CATALOGS)"; for cat in $$cats; do \
156	  lang=`basename $$cat | sed 's/\.gmo$$//'`; \
157	  if [ -f $$cat ] || [ -f $(srcdir)/$$cat ]; then \
158	    dir=$(localedir)/$$lang/LC_MESSAGES; \
159	    $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
160	  fi; \
161	done
162
163install-strip install: all installdirs
164	cats="$(CATALOGS)"; for cat in $$cats; do \
165	  lang=`basename $$cat | sed 's/\.gmo$$//'`; \
166	  if [ -f $$cat ]; then :; \
167	  elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \
168	  else continue; \
169	  fi; \
170	  dir=$(localedir)/$$lang/LC_MESSAGES; \
171	  echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
172	  $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
173	done
174
175mostlyclean:
176	-rm -f *.o
177
178clean: mostlyclean
179	-rm -rf libcpp.a $(srcdir)/autom4te.cache
180
181distclean: clean
182	-rm -f config.h stamp-h1 config.status config.cache config.log \
183	  configure.lineno configure.status.lineno Makefile localedir.h \
184	  localedir.hs $(DEPDIR)/*.Po
185	-rmdir $(DEPDIR)
186
187maintainer-clean: distclean
188	@echo "This command is intended for maintainers to use"
189	@echo "it deletes files that may require special tools to rebuild."
190	-rm -f $(srcdir)/configure $(srcdir)/aclocal.m4
191
192check:
193installcheck:
194dvi:
195pdf:
196html:
197info:
198install-info:
199install-pdf:
200install-man:
201install-html:
202
203update-po: $(CATALOGS:.gmo=.pox)
204
205.PHONY: installdirs install install-strip mostlyclean clean distclean \
206  maintainer-clean check installcheck dvi pdf html info install-info \
207  install-man update-po install-html
208
209# Dependency rule.
210COMPILE.base = $(COMPILER) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(COMPILER_FLAGS) -c
211ifeq ($(DEPMODE),depmode=gcc3)
212# Note that we put the dependencies into a .Tpo file, then move them
213# into place if the compile succeeds.  We need this because gcc does
214# not atomically write the dependency output file.
215COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
216POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
217else
218COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
219	  $(depcomp) $(COMPILE.base)
220# depcomp handles atomicity for us, so we don't need a postcompile
221# step.
222POSTCOMPILE =
223endif
224
225# Implicit rules and I18N
226
227.c.o:
228	$(COMPILE) $<
229	$(POSTCOMPILE)
230
231# N.B. We do not attempt to copy these into $(srcdir).
232.po.gmo:
233	$(mkinstalldirs) po
234	$(GMSGFMT) --statistics -o $@ $<
235
236# The new .po has to be gone over by hand, so we deposit it into
237# build/po with a different extension.
238# If build/po/$(PACKAGE).pot exists, use it (it was just created),
239# else use the one in srcdir.
240.po.pox:
241	$(mkinstalldirs) po
242	$(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
243	                then echo po/$(PACKAGE).pot; \
244	                else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
245
246# Rule for regenerating the message template.
247$(PACKAGE).pot: po/$(PACKAGE).pot
248po/$(PACKAGE).pot: $(libcpp_a_SOURCES)
249	$(mkinstalldirs) $(srcdir)/po
250	$(XGETTEXT) --default-domain=$(PACKAGE) \
251	  --keyword=_ --keyword=N_ \
252	  --keyword=cpp_error:3 --keyword=cpp_errno:3 \
253	  --keyword=cpp_error_with_line:5 \
254	  --keyword=SYNTAX_ERROR --keyword=SYNTAX_ERROR2 \
255	  --copyright-holder="Free Software Foundation, Inc." \
256	  --msgid-bugs-address="http://gcc.gnu.org/bugs.html" \
257	  --language=c -o po/$(PACKAGE).pot.tmp $^
258	sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot
259	rm po/$(PACKAGE).pot.tmp
260
261TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h ucnid.h \
262    include/line-map.h include/symtab.h include/cpp-id-data.h \
263    include/cpplib.h include/mkdeps.h system.h
264
265TAGS: $(TAGS_SOURCES)
266	cd $(srcdir) && etags $(TAGS_SOURCES)
267
268# Tell versions [3.59,3.63) of GNU make to not export all variables.
269# Otherwise a system limit (for SysV at least) may be exceeded.
270.NOEXPORT:
271
272# Dependencies
273-include $(patsubst %.o, $(DEPDIR)/%.Po, $(libcpp_a_OBJS))
274
275# Dependencies on generated headers have to be explicit.
276init.o: localedir.h
277