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