X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=Makefile.tpl;h=45a58c56a408b667aa4a79df6a0d564b32f61cc6;hb=74f0323599c0963436fb5ca85e28f512af5c9164;hp=faa9f3c9204bebbc7a04e68b3643aac19a979d12;hpb=4156fd9aaaaf6faf0046cfc863d7c28faf89d8cd;p=pf3gnuchains%2Fgcc-fork.git diff --git a/Makefile.tpl b/Makefile.tpl index faa9f3c9204..45a58c56a40 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -120,6 +120,19 @@ BUILD_SUBDIR = @build_subdir@ # directories built for the build system. BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)" +# Linker flags to use on the host, for stage1 or when not +# bootstrapping. +STAGE1_LDFLAGS = @stage1_ldflags@ + +# Libraries to use on the host, for stage1 or when not bootstrapping. +STAGE1_LIBS = @stage1_libs@ + +# Linker flags to use for stage2 and later. +POSTSTAGE1_LDFLAGS = @poststage1_ldflags@ + +# Libraries to use for stage2 and later. +POSTSTAGE1_LIBS = @poststage1_libs@ + # This is the list of variables to export in the environment when # configuring any subdirectory. It must also be exported whenever # recursing into a build directory in case that directory's Makefile @@ -130,6 +143,8 @@ BASE_EXPORTS = \ BISON="$(BISON)"; export BISON; \ YACC="$(YACC)"; export YACC; \ M4="$(M4)"; export M4; \ + SED="$(SED)"; export SED; \ + AWK="$(AWK)"; export AWK; \ MAKEINFO="$(MAKEINFO)"; export MAKEINFO; # This is the list of variables to export in the environment when @@ -185,7 +200,7 @@ HOST_EXPORTS = \ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ LD="$(LD)"; export LD; \ - LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \ + LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \ NM="$(NM)"; export NM; \ RANLIB="$(RANLIB)"; export RANLIB; \ WINDRES="$(WINDRES)"; export WINDRES; \ @@ -200,12 +215,15 @@ HOST_EXPORTS = \ OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \ RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ GMPINC="$(HOST_GMPINC)"; export GMPINC; \ PPLLIBS="$(HOST_PPLLIBS)"; export PPLLIBS; \ PPLINC="$(HOST_PPLINC)"; export PPLINC; \ CLOOGLIBS="$(HOST_CLOOGLIBS)"; export CLOOGLIBS; \ CLOOGINC="$(HOST_CLOOGINC)"; export CLOOGINC; \ + LIBELFLIBS="$(HOST_LIBELFLIBS)" ; export LIBELFLIBS; \ + LIBELFINC="$(HOST_LIBELFINC)" ; export LIBELFINC; \ @if gcc-bootstrap $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ @endif gcc-bootstrap @@ -218,8 +236,16 @@ POSTSTAGE1_HOST_EXPORTS = \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \ $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \ - GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND \ - LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS; + CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ + -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ + -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ + -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ + -I$$s/libstdc++-v3/libsupc++ \ + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ + CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; \ + GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \ + LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \ + HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS; # Target libraries are put under this directory: TARGET_SUBDIR = @target_subdir@ @@ -272,6 +298,10 @@ HOST_PPLINC = @pplinc@ HOST_CLOOGLIBS = @clooglibs@ HOST_CLOOGINC = @clooginc@ +# Where to find libelf +HOST_LIBELFLIBS = @libelflibs@ +HOST_LIBELFINC = @libelfinc@ + # ---------------------------------------------- # Programs producing files for the BUILD machine # ---------------------------------------------- @@ -315,6 +345,8 @@ BOOT_CFLAGS= -g -O2 BOOT_LDFLAGS= BOOT_ADAFLAGS=-gnatpg -gnata +AWK = @AWK@ +SED = @SED@ BISON = @BISON@ YACC = @YACC@ FLEX = @FLEX@ @@ -540,8 +572,11 @@ X11_FLAGS_TO_PASS = \ # Flags to pass to stage2 and later makes. POSTSTAGE1_FLAGS_TO_PASS = \ - CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" GNATBIND="$${GNATBIND}" \ - LDFLAGS="$(BOOT_LDFLAGS)" \ + CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ + CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \ + GNATBIND="$${GNATBIND}" \ + LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)" \ + HOST_LIBS="$(POSTSTAGE1_LIBS)" \ "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" # Flags to pass down to makes which are built with the target environment. @@ -590,7 +625,7 @@ EXTRA_GCC_FLAGS = \ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) @if gcc -BUILD_CONFIG = +BUILD_CONFIG = @BUILD_CONFIG@ ifneq ($(BUILD_CONFIG),) include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk) endif @@ -621,15 +656,16 @@ all: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @if gcc-bootstrap if [ -f stage_last ]; then \ - TFLAGS="$(STAGE$(shell sed s,^stage,, stage_last)_TFLAGS)"; \ + TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_last)_TFLAGS)"; \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \ else \ @endif gcc-bootstrap -@if gcc-no-bootstrap - if :; then :; \ -@endif gcc-no-bootstrap - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \ - fi + $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \ +@if gcc-bootstrap + ; \ + fi \ +@endif gcc-bootstrap + && : .PHONY: all-build [+ FOR build_modules +] @@ -1426,15 +1462,16 @@ do-clean: clean-stage[+id+] : $(MAKE); $(stage); \ rm -f .bad_compare ; \ echo Comparing stages [+prev+] and [+id+] ; \ - cd stage[+id+]-gcc; \ - files=`find . -name "*$(objext)" -print` ; \ - cd .. ; \ + sed=`echo stage[+id+] | sed 's,^stage,,;s,.,.,g'`; \ + files=`find stage[+id+]-* -name "*$(objext)" -print | \ + sed -n s,^stage$$sed-,,p` ; \ for file in $${files} ; do \ - f1=$$r/stage[+prev+]-gcc/$$file; f2=$$r/stage[+id+]-gcc/$$file; \ + f1=$$r/stage[+prev+]-$$file; f2=$$r/stage[+id+]-$$file; \ + if test ! -f $$f1; then continue; fi; \ $(do-[+compare-target+]) > /dev/null 2>&1; \ if test $$? -eq 1; then \ case $$file in \ - ./cc*-checksum$(objext) | ./libgcc/* ) \ + @compare_exclusions@) \ echo warning: $$file differs ;; \ *) \ echo $$file differs >> .bad_compare ;; \