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