#You should have received a copy of the GNU General Public License
#along with libcpp; see the file COPYING. If not, write to
-#the Free Software Foundation, 59 Temple Place - Suite 330,
-#Boston MA 02111-1307, USA.
+#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+#Boston MA 02110-1301, USA.
@SET_MAKE@
srcdir = @srcdir@
+top_builddir = .
VPATH = @srcdir@
INSTALL = @INSTALL@
AR = ar
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
-CATALOGS = @CATALOGS@
+CATALOGS = $(patsubst %,po/%,@CATALOGS@)
CC = @CC@
CFLAGS = @CFLAGS@
+WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANTIC@ @WERROR@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
EXEEXT = @EXEEXT@
SHELL = @SHELL@
USED_CATALOGS = @USED_CATALOGS@
XGETTEXT = @XGETTEXT@
+DEPMODE = @CCDEPMODE@
+DEPDIR = @DEPDIR@
datadir = @datadir@
exec_prefix = @prefix@
MSGMERGE = msgmerge
mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
-DEFS = -DLOCALEDIR="\"$(localedir)\""
+depcomp = $(SHELL) $(srcdir)/../depcomp
+
INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
-I$(srcdir)/include
-libcpp_a_OBJS = charset.o directives.o errors.o expr.o files.o \
- identifiers.o init.o lex.o line-map.o macro.o mkdeps.o \
- pch.o symtab.o traditional.o
+ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS)
+
+libcpp_a_OBJS = charset.o directives.o directives-only.o errors.o \
+ expr.o files.o identifiers.o init.o lex.o line-map.o macro.o \
+ mkdeps.o pch.o symtab.o traditional.o
makedepend_OBJS = makedepend.o
-libcpp_a_SOURCES = charset.c directives.c errors.c expr.c files.c \
- identifiers.c init.c lex.c line-map.c macro.c mkdeps.c \
- pch.c symtab.c traditional.c
+libcpp_a_SOURCES = charset.c directives.c directives-only.c errors.c \
+ expr.c files.c identifiers.c init.c lex.c line-map.c macro.c \
+ mkdeps.c pch.c symtab.c traditional.c
all: libcpp.a makedepend$(EXEEXT) $(USED_CATALOGS)
cd $(srcdir) && $(AUTOCONF)
$(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/../config/acx.m4 \
- $(srcdir)/../config/gettext.m4 $(srcdir)/configure.ac
+ $(srcdir)/../config/gettext-sister.m4 $(srcdir)/../config/iconv.m4 \
+ $(srcdir)/../config/codeset.m4 $(srcdir)/../config/lib-ld.m4 \
+ $(srcdir)/../config/lib-link.m4 $(srcdir)/../config/lib-prefix.m4 \
+ $(srcdir)/configure.ac
cd $(srcdir) && $(ACLOCAL) -I ../config
config.h: stamp-h1
-rm -f stamp-h1
$(SHELL) ./config.status config.h
-$(srcdir)/config.in: @MAINT@ $(srcdir)/configure
+$(srcdir)/config.in: @MAINT@ $(srcdir)/configure.ac
cd $(srcdir) && $(AUTOHEADER)
-rm -f stamp-h1
-
+
+# It is not possible to get LOCALEDIR defined in config.h because
+# the value it needs to be defined to is only determined in the
+# Makefile. Hence we do this instead.
+localedir.h: localedir.hs; @true
+localedir.hs: Makefile
+ echo "#define LOCALEDIR \"$(localedir)\"" > localedir.new
+ $(srcdir)/../move-if-change localedir.new localedir.h
+ echo timestamp > localedir.hs
# Installation rules and other phony targets
-rm -f *.o
clean: mostlyclean
- -rm -f makedepend$(EXEEXT) libcpp.a $(srcdir)/autom4te.cache
+ -rm -rf makedepend$(EXEEXT) libcpp.a $(srcdir)/autom4te.cache
distclean: clean
-rm -f config.h stamp-h1 config.status config.cache config.log \
- configure.lineno configure.status.lineno Makefile
+ configure.lineno configure.status.lineno Makefile localedir.h \
+ localedir.hs $(DEPDIR)/*.Po
+ -rmdir $(DEPDIR)
maintainer-clean: distclean
@echo "This command is intended for maintainers to use"
check:
installcheck:
dvi:
+pdf:
html:
info:
install-info:
+install-pdf:
install-man:
+install-html:
update-po: $(CATALOGS:.gmo=.pox)
.PHONY: installdirs install install-strip mostlyclean clean distclean \
- maintainer-clean check installcheck dvi html info install-info \
- install-man update-po
+ maintainer-clean check installcheck dvi pdf html info install-info \
+ install-man update-po install-html
+
+# Dependency rule.
+COMPILE.base = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c
+ifeq ($(DEPMODE),depmode=gcc3)
+COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Po
+else
+COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
+ $(depcomp) $(COMPILE.base)
+endif
# Implicit rules and I18N
.c.o:
- $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $<
+ $(COMPILE) $<
# N.B. We do not attempt to copy these into $(srcdir).
.po.gmo:
else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
# Rule for regenerating the message template.
+$(PACKAGE).pot: po/$(PACKAGE).pot
po/$(PACKAGE).pot: $(libcpp_a_SOURCES)
-test -d $(srcdir)/po || mkdir $(srcdir)/po
$(XGETTEXT) --default-domain=$(PACKAGE) \
- --keyword=cpp_error,3 --keyword=cpp_errno,3 \
- --keyword=cpp_error_with_line,5 \
+ --keyword=_ --keyword=N_ \
+ --keyword=cpp_error:3 --keyword=cpp_errno:3 \
+ --keyword=cpp_error_with_line:5 \
+ --keyword=SYNTAX_ERROR --keyword=SYNTAX_ERROR2 \
--copyright-holder="Free Software Foundation, Inc." \
--msgid-bugs-address="http://gcc.gnu.org/bugs.html" \
- --language=c -o po/$(PACKAGE).pot $^
+ --language=c -o po/$(PACKAGE).pot.tmp $^
+ sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot
+ rm po/$(PACKAGE).pot.tmp
# Tell versions [3.59,3.63) of GNU make to not export all variables.
.NOEXPORT:
# Dependencies
+-include $(patsubst %.o, $(DEPDIR)/%.Po, $(libcpp_a_OBJS) $(makedepend_OBJS))
-top_srcdir = $(srcdir)/..
-top_incdir = $(srcdir)/../include
-libcpp_incdir = $(srcdir)/../libcpp/include
-
-COMMON_DEPS = config.h $(srcdir)/system.h $(srcdir)/internal.h \
- $(top_incdir)/libiberty.h $(top_incdir)/ansidecl.h \
- $(top_incdir)/filenames.h $(top_incdir)/safe-ctype.h \
- $(libcpp_incdir)/symtab.h $(top_incdir)/obstack.h \
- $(libcpp_incdir)/line-map.h $(libcpp_incdir)/cpplib.h \
- $(libcpp_incdir)/cpp-id-data.h $(top_incdir)/getopt.h
-
-charset.o: $(srcdir)/charset.c $(COMMON_DEPS) $(srcdir)/ucnid.h
-directives.o: $(srcdir)/directives.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h
-errors.o: $(srcdir)/errors.c $(COMMON_DEPS)
-expr.o: $(srcdir)/expr.c $(COMMON_DEPS)
-
-files.o: $(srcdir)/files.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h \
- $(top_incdir)/hashtab.h $(top_incdir)/md5.h
-
-identifiers.o: $(srcdir)/identifiers.c $(COMMON_DEPS)
-init.o: $(srcdir)/init.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h
-lex.o: $(srcdir)/lex.c $(COMMON_DEPS)
-line-map.o: $(srcdir)/line-map.c $(COMMON_DEPS)
-macro.o: $(srcdir)/macro.c $(COMMON_DEPS)
-makedepend.o: $(srcdir)/makedepend.c $(COMMON_DEPS)
-mkdeps.o: $(srcdir)/mkdeps.c $(COMMON_DEPS)
-
-pch.o: $(srcdir)/pch.c $(COMMON_DEPS) \
- $(top_incdir)/hashtab.h $(libcpp_incdir)/mkdeps.h
-
-symtab.o: $(srcdir)/symtab.c $(COMMON_DEPS)
-traditional.o: $(srcdir)/traditional.c $(COMMON_DEPS)
+# Dependencies on generated headers have to be explicit.
+init.o: localedir.h