mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			279 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			279 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| # @configure_input@
 | |
| # Makefile for libcpp.  Run 'configure' to generate Makefile from Makefile.in
 | |
| 
 | |
| # Copyright (C) 2004-2019 Free Software Foundation, Inc.
 | |
| 
 | |
| #This file is part of libcpp.
 | |
| 
 | |
| #libcpp is free software; you can redistribute it and/or modify
 | |
| #it under the terms of the GNU General Public License as published by
 | |
| #the Free Software Foundation; either version 3, or (at your option)
 | |
| #any later version.
 | |
| 
 | |
| #libcpp is distributed in the hope that it will be useful,
 | |
| #but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| #GNU General Public License for more details.
 | |
| 
 | |
| #You should have received a copy of the GNU General Public License
 | |
| #along with libcpp; see the file COPYING3.  If not see
 | |
| #<http://www.gnu.org/licenses/>.
 | |
| 
 | |
| @SET_MAKE@
 | |
| 
 | |
| srcdir = @srcdir@
 | |
| top_builddir = .
 | |
| VPATH = @srcdir@
 | |
| INSTALL = @INSTALL@
 | |
| AR = ar
 | |
| ARFLAGS = cru
 | |
| ACLOCAL = @ACLOCAL@
 | |
| AUTOCONF = @AUTOCONF@
 | |
| AUTOHEADER = @AUTOHEADER@
 | |
| CATALOGS = $(patsubst %,po/%,@CATALOGS@)
 | |
| CC = @CC@
 | |
| CFLAGS = @CFLAGS@
 | |
| WARN_CFLAGS = @warn@ @c_warn@ @WARN_PEDANTIC@ @WERROR@
 | |
| CXX = @CXX@
 | |
| CXXFLAGS = @CXXFLAGS@
 | |
| WARN_CXXFLAGS = @warn@ @WARN_PEDANTIC@ @WERROR@
 | |
| CPP = @CPP@
 | |
| CPPFLAGS = @CPPFLAGS@
 | |
| EXEEXT = @EXEEXT@
 | |
| GMSGFMT = @GMSGFMT@
 | |
| INCINTL = @INCINTL@
 | |
| INSTALL_DATA = @INSTALL_DATA@
 | |
| INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | |
| INSTALL_SCRIPT = @INSTALL_SCRIPT@
 | |
| LDFLAGS = @LDFLAGS@
 | |
| LIBICONV = @LIBICONV@
 | |
| LIBINTL = @LIBINTL@
 | |
| PACKAGE = @PACKAGE@
 | |
| RANLIB = @RANLIB@
 | |
| SHELL = @SHELL@
 | |
| USED_CATALOGS = @USED_CATALOGS@
 | |
| XGETTEXT = @XGETTEXT@
 | |
| CCDEPMODE = @CCDEPMODE@
 | |
| CXXDEPMODE = @CXXDEPMODE@
 | |
| DEPDIR = @DEPDIR@
 | |
| NOEXCEPTION_FLAGS = @noexception_flags@
 | |
| PICFLAG = @PICFLAG@
 | |
| 
 | |
| datarootdir = @datarootdir@
 | |
| datadir = @datadir@
 | |
| exec_prefix = @prefix@
 | |
| libdir = @libdir@
 | |
| localedir = $(datadir)/locale
 | |
| prefix = @prefix@
 | |
| 
 | |
| MSGMERGE = msgmerge
 | |
| mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
 | |
| depcomp = $(SHELL) $(srcdir)/../depcomp
 | |
| 
 | |
| INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
 | |
| 	-I$(srcdir)/include
 | |
| 
 | |
| ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG)
 | |
| ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \
 | |
| 	$(CPPFLAGS) $(PICFLAG)
 | |
| 
 | |
| # The name of the compiler to use.
 | |
| COMPILER = $(CXX)
 | |
| COMPILER_FLAGS = $(ALL_CXXFLAGS)
 | |
| DEPMODE = $(CXXDEPMODE)
 | |
| 
 | |
| 
 | |
| 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
 | |
| 
 | |
| 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 $(USED_CATALOGS)
 | |
| 
 | |
| .SUFFIXES:
 | |
| .SUFFIXES: .c .gmo .o .obj .po .pox
 | |
| 
 | |
| libcpp.a: $(libcpp_a_OBJS)
 | |
| 	-rm -f libcpp.a
 | |
| 	$(AR) $(ARFLAGS) libcpp.a $(libcpp_a_OBJS)
 | |
| 	$(RANLIB) libcpp.a
 | |
| 
 | |
| # Rules to rebuild the configuration
 | |
| 
 | |
| Makefile: $(srcdir)/Makefile.in config.status
 | |
| 	$(SHELL) ./config.status Makefile
 | |
| 
 | |
| config.status: $(srcdir)/configure
 | |
| 	$(SHELL) ./config.status --recheck
 | |
| 
 | |
| $(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4
 | |
| 	cd $(srcdir) && $(AUTOCONF)
 | |
| 
 | |
| $(srcdir)/aclocal.m4: @MAINT@ $(srcdir)/../config/acx.m4 \
 | |
| 	$(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)/../config/override.m4 $(srcdir)/../config/proginstall.m4 \
 | |
| 	$(srcdir)/configure.ac
 | |
| 	cd $(srcdir) && $(ACLOCAL) -I ../config
 | |
| 
 | |
| config.h: stamp-h1
 | |
| 	test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1)
 | |
| 
 | |
| stamp-h1: $(srcdir)/config.in config.status
 | |
| 	-rm -f stamp-h1
 | |
| 	$(SHELL) ./config.status config.h
 | |
| 
 | |
| $(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
 | |
| 
 | |
| # These rule has to look for .gmo modules in both srcdir and
 | |
| # the cwd, and has to check that we actually have a catalog
 | |
| # for each language, in case they weren't built or included
 | |
| # with the distribution.
 | |
| installdirs:
 | |
| 	@$(mkinstalldirs) $(DESTDIR)$(datadir); \
 | |
| 	cats="$(CATALOGS)"; for cat in $$cats; do \
 | |
| 	  lang=`basename $$cat | sed 's/\.gmo$$//'`; \
 | |
| 	  if [ -f $$cat ] || [ -f $(srcdir)/$$cat ]; then \
 | |
| 	    dir=$(localedir)/$$lang/LC_MESSAGES; \
 | |
| 	    $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
 | |
| 	  fi; \
 | |
| 	done
 | |
| 
 | |
| install-strip install: all installdirs
 | |
| 	cats="$(CATALOGS)"; for cat in $$cats; do \
 | |
| 	  lang=`basename $$cat | sed 's/\.gmo$$//'`; \
 | |
| 	  if [ -f $$cat ]; then :; \
 | |
| 	  elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \
 | |
| 	  else continue; \
 | |
| 	  fi; \
 | |
| 	  dir=$(localedir)/$$lang/LC_MESSAGES; \
 | |
| 	  echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
 | |
| 	  $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
 | |
| 	done
 | |
| 
 | |
| mostlyclean:
 | |
| 	-rm -f *.o
 | |
| 
 | |
| clean: mostlyclean
 | |
| 	-rm -rf 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 localedir.h \
 | |
| 	  localedir.hs $(DEPDIR)/*.Po
 | |
| 	-rmdir $(DEPDIR)
 | |
| 
 | |
| maintainer-clean: distclean
 | |
| 	@echo "This command is intended for maintainers to use"
 | |
| 	@echo "it deletes files that may require special tools to rebuild."
 | |
| 	-rm -f $(srcdir)/configure $(srcdir)/aclocal.m4
 | |
| 
 | |
| 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 pdf html info install-info \
 | |
|   install-man update-po install-html
 | |
| 
 | |
| # Dependency rule.
 | |
| COMPILE.base = $(COMPILER) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(COMPILER_FLAGS) -c
 | |
| ifeq ($(DEPMODE),depmode=gcc3)
 | |
| # Note that we put the dependencies into a .Tpo file, then move them
 | |
| # into place if the compile succeeds.  We need this because gcc does
 | |
| # not atomically write the dependency output file.
 | |
| COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
 | |
| POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 | |
| else
 | |
| COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
 | |
| 	  $(depcomp) $(COMPILE.base)
 | |
| # depcomp handles atomicity for us, so we don't need a postcompile
 | |
| # step.
 | |
| POSTCOMPILE =
 | |
| endif
 | |
| 
 | |
| # Implicit rules and I18N
 | |
| 
 | |
| .c.o:
 | |
| 	$(COMPILE) $<
 | |
| 	$(POSTCOMPILE)
 | |
| 
 | |
| # N.B. We do not attempt to copy these into $(srcdir).
 | |
| .po.gmo:
 | |
| 	$(mkinstalldirs) po
 | |
| 	$(GMSGFMT) --statistics -o $@ $<
 | |
| 
 | |
| # The new .po has to be gone over by hand, so we deposit it into
 | |
| # build/po with a different extension.
 | |
| # If build/po/$(PACKAGE).pot exists, use it (it was just created),
 | |
| # else use the one in srcdir.
 | |
| .po.pox:
 | |
| 	$(mkinstalldirs) po
 | |
| 	$(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
 | |
| 	                then echo po/$(PACKAGE).pot; \
 | |
| 	                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)
 | |
| 	$(mkinstalldirs) $(srcdir)/po
 | |
| 	$(XGETTEXT) --default-domain=$(PACKAGE) \
 | |
| 	  --keyword=_ --keyword=N_ \
 | |
| 	  --keyword=cpp_error:3 \
 | |
| 	  --keyword=cpp_warning:3 \
 | |
| 	  --keyword=cpp_pedwarning:3 \
 | |
| 	  --keyword=cpp_warning_syshdr:3 \
 | |
| 	  --keyword=cpp_error_with_line:5 \
 | |
| 	  --keyword=cpp_warning_with_line:5 \
 | |
| 	  --keyword=cpp_pedwarning_with_line:5 \
 | |
| 	  --keyword=cpp_warning_with_line_syshdr:5 \
 | |
| 	  --keyword=cpp_errno:3 \
 | |
| 	  --keyword=SYNTAX_ERROR --keyword=SYNTAX_ERROR2 \
 | |
| 	  --copyright-holder="Free Software Foundation, Inc." \
 | |
| 	  --msgid-bugs-address="https://gcc.gnu.org/bugs/" \
 | |
| 	  --language=c -o po/$(PACKAGE).pot.tmp $^
 | |
| 	sed 's:$(srcdir)/::g' <po/$(PACKAGE).pot.tmp >po/$(PACKAGE).pot
 | |
| 	rm po/$(PACKAGE).pot.tmp
 | |
| 
 | |
| TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h system.h ucnid.h \
 | |
|     include/cpplib.h include/line-map.h include/mkdeps.h include/symtab.h
 | |
| 
 | |
| TAGS: $(TAGS_SOURCES)
 | |
| 	cd $(srcdir) && etags $(TAGS_SOURCES)
 | |
| 
 | |
| # Tell versions [3.59,3.63) of GNU make to not export all variables.
 | |
| # Otherwise a system limit (for SysV at least) may be exceeded.
 | |
| .NOEXPORT:
 | |
| 
 | |
| # Dependencies
 | |
| -include $(patsubst %.o, $(DEPDIR)/%.Po, $(libcpp_a_OBJS))
 | |
| 
 | |
| # Dependencies on generated headers have to be explicit.
 | |
| init.o: localedir.h
 |