summaryrefslogtreecommitdiff
path: root/Makefile.tpl
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2005-08-08 09:21:05 +0000
committerPaolo Bonzini <bonzini@gnu.org>2005-08-08 09:21:05 +0000
commit42f75298547bbc7b16833036e6189639533a79c4 (patch)
tree4aa4b32c46cf4cb3defa95b6593861e170ebedce /Makefile.tpl
parenta4af2b7f8313027d9cd0adab68a86f3249ebb59e (diff)
downloadgdb-42f75298547bbc7b16833036e6189639533a79c4.tar.gz
2005-08-08 Paolo Bonzini <bonzini@gnu.org>
* configure.in (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET, GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Find them with NCN_STRICT_CHECK_TARGET_TOOL, like the other target tools; remove code to manually set them. (Target tools): Look in the environment for them. * Makefile.tpl (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET, GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Redefine. (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): Look into gcc build directory. (CONFIGURED_CC_FOR_TARGET, CONFIGURED_CXX_FOR_TARGET, CONFIGURED_GCJ_FOR_TARGET, CONFIGURED_GCC_FOR_TARGET, CONFIGURED_GFORTRAN_FOR_TARGET, USUAL_CC_FOR_TARGET, USUAL_CXX_FOR_TARGET, USUAL_GCJ_FOR_TARGET, USUAL_GCC_FOR_TARGET, USUAL_RAW_CXX_FOR_TARGET, USUAL_GFORTRAN_FOR_TARGET): New. (CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RECURSE_FLAGS): Delete. * configure: Regenerate. * Makefile.in: Regenerate.
Diffstat (limited to 'Makefile.tpl')
-rw-r--r--Makefile.tpl105
1 files changed, 79 insertions, 26 deletions
diff --git a/Makefile.tpl b/Makefile.tpl
index c37bd50e1bd..cb975f19f1e 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -354,8 +354,8 @@ CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
USUAL_AS_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/gas/as-new ] ; then \
echo $$r/$(HOST_SUBDIR)/gas/as-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=as ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/as ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/as ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(AS); \
@@ -364,29 +364,93 @@ USUAL_AS_FOR_TARGET = ` \
fi; \
fi`
-CC_FOR_TARGET = @CC_FOR_TARGET@
-SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_CC_FOR_TARGET=@CONFIGURED_CC_FOR_TARGET@
+USUAL_CC_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CC); \
+ else \
+ echo $(CONFIGURED_CC_FOR_TARGET) ; \
+ fi; \
+ fi`
+
# During gcc bootstrap, if we use some random cc for stage1 then
# CFLAGS will be just -g. We want to ensure that TARGET libraries
# (which we know are built with gcc) are built with optimizations so
# prepend -O2 when setting CFLAGS_FOR_TARGET.
CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+
# If GCC_FOR_TARGET is not overriden on the command line, then this
# variable is passed down to the gcc Makefile, where it is used to
# build libgcc2.a. We define it here so that it can itself be
# overridden on the command line.
GCC_FOR_TARGET=@GCC_FOR_TARGET@
+CONFIGURED_GCC_FOR_TARGET=@CONFIGURED_GCC_FOR_TARGET@
USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) \
$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/ $(FLAGS_FOR_TARGET)
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
-CXX_FOR_TARGET = @CXX_FOR_TARGET@
-RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@
-CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
-RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
+CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_CXX_FOR_TARGET=@CONFIGURED_CXX_FOR_TARGET@
+USUAL_CXX_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/g++ ] ; then \
+ (echo $$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++; \
+ test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; \
+ echo -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs) | tr '\015\012' ' '; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CXX); \
+ else \
+ echo $(CONFIGURED_CXX_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+USUAL_RAW_CXX_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(CXX); \
+ else \
+ echo $(CONFIGURED_CXX_FOR_TARGET) ; \
+ fi; \
+ fi`
+
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_GCJ_FOR_TARGET=@CONFIGURED_GCJ_FOR_TARGET@
+USUAL_GCJ_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/gcj ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(GCJ); \
+ else \
+ echo $(CONFIGURED_GCJ_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+CONFIGURED_GFORTRAN_FOR_TARGET=@CONFIGURED_GFORTRAN_FOR_TARGET@
+USUAL_GFORTRAN_FOR_TARGET = ` \
+ if [ -f $$r/$(HOST_SUBDIR)/gcc/gfortran ] ; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc ; \
+ else \
+ if [ '$(host)' = '$(target)' ] ; then \
+ echo $(GFORTRAN); \
+ else \
+ echo $(CONFIGURED_GFORTRAN_FOR_TARGET) ; \
+ fi; \
+ fi`
+
+
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
USUAL_DLLTOOL_FOR_TARGET = ` \
@@ -400,16 +464,13 @@ USUAL_DLLTOOL_FOR_TARGET = ` \
fi; \
fi`
-GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
-GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@
-
LD_FOR_TARGET=@LD_FOR_TARGET@
CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
USUAL_LD_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/ld/ld-new ] ; then \
echo $$r/$(HOST_SUBDIR)/ld/ld-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=ld ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/collect-ld ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/collect-ld ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(LD); \
@@ -425,8 +486,8 @@ CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
USUAL_NM_FOR_TARGET = ` \
if [ -f $$r/$(HOST_SUBDIR)/binutils/nm-new ] ; then \
echo $$r/$(HOST_SUBDIR)/binutils/nm-new ; \
- elif [ -f $$r/$(HOST_SUBDIR)/gcc/xgcc ]; then \
- $(CC_FOR_TARGET) -print-prog-name=nm ; \
+ elif [ -f $$r/$(HOST_SUBDIR)/gcc/nm ]; then \
+ echo $$r/$(HOST_SUBDIR)/gcc/nm ; \
else \
if [ '$(host)' = '$(target)' ] ; then \
echo $(NM); \
@@ -519,16 +580,8 @@ BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\
"CONFIG_SHELL=$(SHELL)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)"
-# For any flags above that may contain shell code that varies from one
-# target library to another. When doing recursive invocations of the
-# top-level Makefile, we don't want the outer make to evaluate them,
-# so we pass these variables down unchanged. They must not contain
-# single nor double quotes.
-RECURSE_FLAGS = \
- CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
- RAW_CXX_FOR_TARGET='$(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
-
-RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS)
+# We leave this in just in case, but it is not needed anymore.
+RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)
# Flags to pass down to most sub-makes, in which we're building with
# the host environment.
@@ -749,7 +802,7 @@ mail-report-with-warnings.log: warning.log
# Installation targets.
.PHONY: install uninstall
-install: unstage installdirs install-host install-target stage
+install: installdirs install-host install-target
.PHONY: install-host-nogcc
install-host-nogcc: [+