X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=Makefile.tpl;h=0729415891c6f7eb7c8d4215a5a8cd078ed059cc;hb=e002130a473f992cb22e356760e8ce9d8cd8457e;hp=f0f596841be5ffa90042cd5ab2d442e9b5dbfad0;hpb=4d9c9c815eddc40d501445c43202e71ee0e7be32;p=pf3gnuchains%2Fgcc-fork.git diff --git a/Makefile.tpl b/Makefile.tpl index f0f596841be..0729415891c 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -29,20 +29,11 @@ in VPATH=@srcdir@ build_alias=@build_alias@ -build_cpu=@build_cpu@ -build_vendor=@build_vendor@ -build_os=@build_os@ -build_canonical=@build_cpu@-@build_vendor@-@build_os@ +build=@build@ host_alias=@host_alias@ -host_cpu=@host_cpu@ -host_vendor=@host_vendor@ -host_os=@host_os@ -host_canonical=@host_cpu@-@host_vendor@-@host_os@ +host=@host@ target_alias=@target_alias@ -target_cpu=@target_cpu@ -target_vendor=@target_vendor@ -target_os=@target_os@ -target_canonical=@target_cpu@-@target_vendor@-@target_os@ +target=@target@ program_transform_name = @program_transform_name@ @@ -162,7 +153,6 @@ CXX_FOR_BUILD = $(CXX) # Special variables passed down in EXTRA_GCC_FLAGS. They are defined # here so that they can be overridden by Makefile fragments. -BUILD_CC = $(CC_FOR_BUILD) BUILD_PREFIX = @BUILD_PREFIX@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@ @@ -266,7 +256,7 @@ USUAL_AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ echo $(AR); \ else \ echo ar | sed '$(program_transform_name)' ; \ @@ -280,7 +270,7 @@ USUAL_AS_FOR_TARGET = ` \ elif [ -f $$r/gcc/xgcc ]; then \ $(CC_FOR_TARGET) -print-prog-name=as ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ echo $(AS); \ else \ echo as | sed '$(program_transform_name)' ; \ @@ -313,7 +303,7 @@ USUAL_DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ echo $(DLLTOOL); \ else \ echo dlltool | sed '$(program_transform_name)' ; \ @@ -329,7 +319,7 @@ USUAL_LD_FOR_TARGET = ` \ elif [ -f $$r/gcc/xgcc ]; then \ $(CC_FOR_TARGET) -print-prog-name=ld ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ echo $(LD); \ else \ echo ld | sed '$(program_transform_name)' ; \ @@ -345,7 +335,7 @@ USUAL_NM_FOR_TARGET = ` \ elif [ -f $$r/gcc/xgcc ]; then \ $(CC_FOR_TARGET) -print-prog-name=nm ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ echo $(NM); \ else \ echo nm | sed '$(program_transform_name)' ; \ @@ -357,7 +347,7 @@ USUAL_RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ if [ x'$(RANLIB)' != x ]; then \ echo $(RANLIB); \ else \ @@ -373,7 +363,7 @@ USUAL_WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ else \ - if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ '$(host)' = '$(target)' ] ; then \ echo $(WINDRES); \ else \ echo windres | sed '$(program_transform_name)' ; \ @@ -399,70 +389,9 @@ all: all.normal ### # Flags to pass down to all sub-makes. -# Please keep these in alphabetical order. -BASE_FLAGS_TO_PASS = \ - "AR_FLAGS=$(AR_FLAGS)" \ - "AR_FOR_TARGET=$(AR_FOR_TARGET)" \ - "AS_FOR_TARGET=$(AS_FOR_TARGET)" \ - "BISON=$(BISON)" \ - "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ - "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ - "CFLAGS=$(CFLAGS)" \ - "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ - "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \ - "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ - "CXXFLAGS=$(CXXFLAGS)" \ - "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \ - "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \ - "DESTDIR=$(DESTDIR)" \ - "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \ - "INSTALL=$(INSTALL)" \ - "INSTALL_DATA=$(INSTALL_DATA)" \ - "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ - "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ - "LDFLAGS=$(LDFLAGS)" \ - "LEX=$(LEX)" \ - "LD_FOR_TARGET=$(LD_FOR_TARGET)" \ - "LIBCFLAGS=$(LIBCFLAGS)" \ - "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ - "LIBCXXFLAGS=$(LIBCXXFLAGS)" \ - "LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \ - "M4=$(M4)" \ - "MAKE=$(MAKE)" \ - "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ - "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ - "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ - "RPATH_ENVVAR=$(RPATH_ENVVAR)" \ - "SHELL=$(SHELL)" \ - "EXPECT=$(EXPECT)" \ - "RUNTEST=$(RUNTEST)" \ - "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ - "TARGET_SUBDIR=$(TARGET_SUBDIR)" \ - "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \ - "YACC=$(YACC)" \ - "bindir=$(bindir)" \ - "datadir=$(datadir)" \ - "exec_prefix=$(exec_prefix)" \ - "includedir=$(includedir)" \ - "infodir=$(infodir)" \ - "libdir=$(libdir)" \ - "libexecdir=$(libexecdir)" \ - "lispdir=$(lispdir)" \ - "libstdcxx_incdir=$(libstdcxx_incdir)" \ - "libsubdir=$(libsubdir)" \ - "localstatedir=$(localstatedir)" \ - "mandir=$(mandir)" \ - "oldincludedir=$(oldincludedir)" \ - "prefix=$(prefix)" \ - "sbindir=$(sbindir)" \ - "sharedstatedir=$(sharedstatedir)" \ - "sysconfdir=$(sysconfdir)" \ - "tooldir=$(tooldir)" \ - "build_tooldir=$(build_tooldir)" \ - "gxx_include_dir=$(gxx_include_dir)" \ - "gcc_version=$(gcc_version)" \ - "gcc_version_trigger=$(gcc_version_trigger)" \ - "target_alias=$(target_alias)" +BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\ + "[+flag+]=$([+flag+])" [+ ENDFOR flags_to_pass +]\ + "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 @@ -475,7 +404,6 @@ RECURSE_FLAGS = \ # Flags to pass down to most sub-makes, in which we're building with # the host environment. -# If any variables are added here, they must be added to do-*, below. EXTRA_HOST_FLAGS = \ 'AR=$(AR)' \ 'AS=$(AS)' \ @@ -504,7 +432,6 @@ X11_FLAGS_TO_PASS = \ # Flags to pass down to makes which are built with the target environment. # The double $ decreases the length of the command line; the variables # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. -# If any variables are added here, they must be added to do-*, below. EXTRA_TARGET_FLAGS = \ 'AR=$$(AR_FOR_TARGET)' \ 'AS=$$(AS_FOR_TARGET)' \ @@ -526,7 +453,7 @@ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) # unfortunately needs the native compiler and the target ar and # ranlib. # If any variables are added here, they must be added to do-*, below. -# The HOST_* variables are a special case, which are used for the gcc +# The BUILD_* variables are a special case, which are used for the gcc # cross-building scheme. EXTRA_GCC_FLAGS = \ 'AR=$(AR)' \ @@ -534,7 +461,6 @@ EXTRA_GCC_FLAGS = \ 'CC=$(CC)' \ 'CXX=$(CXX)' \ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ - 'BUILD_CC=$(CC_FOR_BUILD)' \ 'BUILD_PREFIX=$(BUILD_PREFIX)' \ 'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \ 'NM=$(NM)' \ @@ -565,26 +491,6 @@ configure-target: [+ maybe-configure-target-[+module+][+ ENDFOR target_modules +] -# This is a list of the targets for which we can do a clean-{target}. -CLEAN_MODULES =[+ - FOR host_modules +][+ - IF (not (or (exist? "no_clean") (exist? "with_x"))) +] \ - clean-[+module+][+ - ENDIF no_clean +][+ - ENDFOR host_modules +] - -# All of the target modules that can be cleaned -CLEAN_TARGET_MODULES =[+ - FOR target_modules +][+ - IF (not (exist? "no_clean")) +] \ - clean-target-[+module+][+ - ENDIF no_clean +][+ - ENDFOR target_modules +] - -# All of the x11 modules that can be cleaned -CLEAN_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\ - clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +] - # The target built for a native build. .PHONY: all.normal all.normal: @all_build_modules@ all-host all-target @@ -604,59 +510,106 @@ all-target: [+ # ``make X'' in all subdirectories (because, in general, there is a # dependency (below) of X upon do-X, a ``make X'' will also do this, # but it may do additional work as well). -# This target ensures that $(BASE_FLAGS_TO_PASS) appears only once, -# because it is so large that it can easily overflow the command line -# length limit on some systems. [+ FOR recursive_targets +] -.PHONY: do-[+target+] -do-[+target+]: - @r=`${PWD}`; export r; \ +.PHONY: do-[+make_target+] +do-[+make_target+]: [+make_target+]-host [+make_target+]-target + +.PHONY: [+make_target+]-host +[+make_target+]-host: maybe-[+make_target+]-gcc [+ + FOR host_modules +] \ + maybe-[+make_target+]-[+module+][+ + ENDFOR host_modules +] + +.PHONY: [+make_target+]-target +[+make_target+]-target: [+ + FOR target_modules +] \ + maybe-[+make_target+]-target-[+module+][+ + ENDFOR target_modules +] + +# GCC, the eternal special case +.PHONY: maybe-[+make_target+]-gcc [+make_target+]-gcc +maybe-[+make_target+]-gcc: +[+make_target+]-gcc: [+ + FOR depend +]\ + [+depend+]-gcc [+ + ENDFOR depend +] + @[ -f ./gcc/Makefile ] || exit 0; \ + r=`${PWD}`; export r; \ + s=`cd $(srcdir); ${PWD}`; export s; \ + $(SET_LIB_PATH) \ + for flag in $(EXTRA_GCC_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing [+make_target+] in gcc" ; \ + (cd gcc && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + [+make_target+]) \ + || exit 1 + +# Host modules. +[+ FOR host_modules +] +.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+] +maybe-[+make_target+]-[+module+]: +[+ IF (match-value? = "missing" (get "make_target") ) +] +# [+module+] doesn't support [+make_target+]. +[+make_target+]-[+module+]: +[+ ELSE +] +[+make_target+]-[+module+]: [+ + FOR depend +]\ + [+depend+]-[+module+] [+ + ENDFOR depend +] + @[ -f ./[+module+]/Makefile ] || exit 0; \ + r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ $(SET_LIB_PATH) \ - for i in $(SUBDIRS) -dummy-; do \ - if [ -f ./$$i/Makefile ]; then \ - case $$i in \ - gcc) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - ;; \ - *) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - ;; \ - esac ; \ - (cd ./$$i && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+target+]) \ - || exit 1; \ - else true; fi; \ - done - # Break into two pieces + for flag in $(EXTRA_HOST_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing [+make_target+] in [+module+]" ; \ + (cd [+module+] && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + [+make_target+]) \ + || exit 1 +[+ ENDIF +] +[+ ENDFOR host_modules +] + +# Target modules. +[+ FOR target_modules +] +.PHONY: maybe-[+make_target+]-target-[+module+] [+make_target+]-target-[+module+] +maybe-[+make_target+]-target-[+module+]: +[+ IF (match-value? = "missing" (get "make_target") ) +] +# [+module+] doesn't support [+make_target+]. +[+make_target+]-target-[+module+]: +[+ ELSE +] +[+make_target+]-target-[+module+]: [+ + FOR depend +]\ + [+depend+]-target-[+module+] [+ + ENDFOR depend +] + @[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \ r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ $(SET_LIB_PATH) \ - for i in $(TARGET_CONFIGDIRS) -dummy-; do \ - if [ -f $(TARGET_SUBDIR)/$$i/Makefile ]; then \ - for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - (cd $(TARGET_SUBDIR)/$$i && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+target+]) \ - || exit 1; \ - else true; fi; \ - done + echo "Doing [+make_target+] in $(TARGET_SUBDIR)/[+module+]" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/[+module+] && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + [+make_target+]) \ + || exit 1 +[+ ENDIF +] +[+ ENDFOR target_modules +] [+ ENDFOR recursive_targets +] - # Here are the targets which correspond to the do-X targets. .PHONY: info installcheck dvi install-info @@ -703,33 +656,8 @@ maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean maintainer-clean: local-distclean realclean: maintainer-clean -# This rule is used to clean specific modules. -.PHONY: $(CLEAN_MODULES) $(CLEAN_X11_MODULES) clean-gcc -$(CLEAN_MODULES) $(CLEAN_X11_MODULES) clean-gcc: - @dir=`echo $@ | sed -e 's/clean-//'`; \ - if [ -f ./$${dir}/Makefile ] ; then \ - r=`${PWD}`; export r; \ - s=`cd $(srcdir); ${PWD}`; export s; \ - $(SET_LIB_PATH) \ - (cd $${dir} && $(MAKE) $(FLAGS_TO_PASS) clean); \ - else \ - true; \ - fi - -.PHONY: $(CLEAN_TARGET_MODULES) -$(CLEAN_TARGET_MODULES): - @dir=`echo $@ | sed -e 's/clean-target-//'`; \ - rm -f $(TARGET_SUBDIR)/$${dir}/multilib.out $(TARGET_SUBDIR)/$${dir}/tmpmulti.out; \ - if [ -f $(TARGET_SUBDIR)/$${dir}/Makefile ] ; then \ - r=`${PWD}`; export r; \ - s=`cd $(srcdir); ${PWD}`; export s; \ - $(SET_LIB_PATH) \ - (cd $(TARGET_SUBDIR)/$${dir} && $(MAKE) $(TARGET_FLAGS_TO_PASS) clean); \ - else \ - true; \ - fi - -clean-target: $(CLEAN_TARGET_MODULES) clean-target-libgcc +# Extra dependency for clean-target, owing to the mixed nature of gcc +clean-target: clean-target-libgcc clean-target-libgcc: test ! -d gcc/libgcc || \ (cd gcc/libgcc && find . -type d -print) | \ @@ -740,7 +668,7 @@ clean-target-libgcc: .PHONY: check do-check check: - $(MAKE) do-check NOTPARALLEL=parallel-ok + $(MAKE) do-check # Only include modules actually being configured and built. do-check: maybe-check-gcc [+ @@ -934,18 +862,16 @@ configure-[+module+]: CFLAGS="$(CFLAGS)"; export CFLAGS; \ CXX="$(CXX)"; export CXX; \ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ - if [ z$(build_canonical) != z$(host_canoncial) ] ; then \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - fi; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ echo Configuring in [+module+]; \ cd [+module+] || exit 1; \ case $(srcdir) in \ @@ -981,7 +907,7 @@ check-[+module+]: [+ ELIF no_check_cross +] # This module is only tested in a native toolchain. check-[+module+]: - @if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + @if [ '$(host)' = '$(target)' ] ; then \ r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ $(SET_LIB_PATH) \ @@ -1165,18 +1091,16 @@ configure-gcc: CXX="$(CXX)"; export CXX; \ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ - if [ z$(build_canonical) != z$(host_canoncial) ] ; then \ - AR="$(AR)"; export AR; \ - AS="$(AS)"; export AS; \ - CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ - DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ - LD="$(LD)"; export LD; \ - NM="$(NM)"; export NM; \ - RANLIB="$(RANLIB)"; export RANLIB; \ - WINDRES="$(WINDRES)"; export WINDRES; \ - OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ - OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ - fi; \ + AR="$(AR)"; export AR; \ + AS="$(AS)"; export AS; \ + CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ + DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ + LD="$(LD)"; export LD; \ + NM="$(NM)"; export NM; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + WINDRES="$(WINDRES)"; export WINDRES; \ + OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ + OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ echo Configuring in gcc; \ cd gcc || exit 1; \ case $(srcdir) in \ @@ -1255,6 +1179,23 @@ $(GCC_STRAP_TARGETS): all-bootstrap configure-gcc echo "Building runtime libraries"; \ $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all +profiledbootstrap: all-bootstrap configure-gcc + @r=`${PWD}`; export r; \ + s=`cd $(srcdir); ${PWD}`; export s; \ + $(SET_LIB_PATH) \ + echo "Bootstrapping the compiler"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build + @r=`${PWD}`; export r; \ + s=`cd $(srcdir); ${PWD}` ; export s; \ + $(SET_LIB_PATH) \ + echo "Building runtime libraries and training compiler"; \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all + @r=`${PWD}`; export r; \ + s=`cd $(srcdir); ${PWD}`; export s; \ + $(SET_LIB_PATH) \ + echo "Building feedback based compiler"; \ + cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build + .PHONY: cross cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld @r=`${PWD}`; export r; \ @@ -1269,7 +1210,8 @@ cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld $(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) \ LANGUAGES="c c++" all -.PHONY: check-gcc +.PHONY: check-gcc maybe-check-gcc +maybe-check-gcc: check-gcc: @if [ -f ./gcc/Makefile ] ; then \ r=`${PWD}`; export r; \ @@ -1293,7 +1235,7 @@ check-gcc-c++: .PHONY: check-c++ check-c++: - $(MAKE) check-target-libstdc++-v3 check-gcc-c++ NOTPARALLEL=parallel-ok + $(MAKE) check-target-libstdc++-v3 check-gcc-c++ .PHONY: install-gcc maybe-install-gcc maybe-install-gcc: @@ -1350,7 +1292,7 @@ all-bootstrap: maybe-all-libiberty maybe-all-texinfo maybe-all-bison maybe-all-b # Host modules specific to gdb. # GDB needs to know that the simulator is being built. -configure-gdb: maybe-configure-tcl maybe-configure-tk maybe-configure-sim +configure-gdb: maybe-configure-itcl maybe-configure-tcl maybe-configure-tk maybe-configure-sim GDB_TK = @GDB_TK@ all-gdb: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-mmalloc maybe-all-readline maybe-all-bison maybe-all-byacc maybe-all-sim $(gdbnlmrequirements) $(GDB_TK) install-gdb: maybe-install-tcl maybe-install-tk maybe-install-itcl maybe-install-tix maybe-install-libgui @@ -1433,7 +1375,7 @@ configure-target-zlib: $(ALL_GCC_C) configure-target-examples: $(ALL_GCC_C) configure-target-libgloss: $(ALL_GCC) all-target-libgloss: maybe-configure-target-newlib -configure-target-libiberty: $(ALL_GCC_C) +configure-target-libiberty: $(ALL_GCC) configure-target-libtermcap: $(ALL_GCC_C) configure-target-newlib: $(ALL_GCC) configure-target-rda: $(ALL_GCC_C) @@ -1490,12 +1432,6 @@ $(srcdir)/configure: @MAINT@ $(srcdir)/configure.in $(srcdir)/config/acx.m4 # Special directives to GNU Make # ------------------------------ -# Tell GNU make 3.79 not to run the top level in parallel. This -# prevents contention for $builddir/$target/config.cache, as well -# as minimizing scatter in file system caches. -NOTPARALLEL = .NOTPARALLEL -$(NOTPARALLEL): - # Don't pass command-line variables to submakes. .NOEXPORT: MAKEOVERRIDES=