X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=Makefile.tpl;h=274474a5c005d5496a83fe9df90e5451a2636003;hb=2e865445d2e8f00fe13ee332b6f5a4142aca52e1;hp=8b5b679cccc8d885801abd2e8e7dc31cc70ce30a;hpb=ceebc884c6762fb81420968d84b3659fee018f38;p=pf3gnuchains%2Fgcc-fork.git diff --git a/Makefile.tpl b/Makefile.tpl index 8b5b679cccc..274474a5c00 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -6,7 +6,7 @@ in # # Makefile for directory with subdirs to build. # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation +# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -87,8 +87,6 @@ GDB_NLM_DEPS = # the libraries. RPATH_ENVVAR = @RPATH_ENVVAR@ -# This is the list of directories to be built for the build system. -BUILD_CONFIGDIRS = libiberty # Build programs are put under this directory. BUILD_SUBDIR = @build_subdir@ # This is set by the configure script to the arguments to use when configuring @@ -181,9 +179,6 @@ POSTSTAGE1_HOST_EXPORTS = \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ \ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; -# This is set by the configure script to the list of directories which -# should be built using the target tools. -TARGET_CONFIGDIRS = @target_configdirs@ # Target libraries are put under this directory: TARGET_SUBDIR = @target_subdir@ # This is set by the configure script to the arguments to use when configuring @@ -285,6 +280,7 @@ DLLTOOL = @DLLTOOL@ LD = @LD@ LIPO = @LIPO@ NM = @NM@ +OBJDUMP = @OBJDUMP@ RANLIB = @RANLIB@ STRIP = @STRIP@ WINDRES = @WINDRES@ @@ -388,8 +384,9 @@ HOST_LIB_PATH_[+module+] = \ [+ ENDIF lib_path +][+ ENDFOR host_modules +] # Flags to pass down to all sub-makes. -BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\ - "[+flag+]=$([+flag+])" [+ ENDFOR flags_to_pass +]\ +BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass +][+ IF optional +] \ + "`echo '[+flag+]=$([+flag+])' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"[+ ELSE optional +] \ + "[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +] \ "CONFIG_SHELL=$(SHELL)" \ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" @@ -407,6 +404,7 @@ EXTRA_HOST_FLAGS = \ 'LD=$(LD)' \ 'LIPO=$(LIPO)' \ 'NM=$(NM)' \ + 'OBJDUMP=$(OBJDUMP)' \ 'RANLIB=$(RANLIB)' \ 'STRIP=$(STRIP)' \ 'WINDRES=$(WINDRES)' @@ -455,18 +453,12 @@ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) # The BUILD_* variables are a special case, which are used for the gcc # cross-building scheme. EXTRA_GCC_FLAGS = \ - 'BUILD_PREFIX=$(BUILD_PREFIX)' \ - 'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \ "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \ - "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" + "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) @@ -500,20 +492,20 @@ all: fi .PHONY: all-build -all-build: [+ - FOR build_modules +] \ - maybe-all-build-[+module+][+ - ENDFOR build_modules +] +[+ FOR build_modules +] +all-build: maybe-all-build-[+module+][+ ENDFOR build_modules +] + .PHONY: all-host -all-host: [+ - FOR host_modules +] \ - maybe-all-[+module+][+ - ENDFOR host_modules +] +[+ FOR host_modules +][+ IF bootstrap +] +@if [+module+]-no-bootstrap[+ ENDIF bootstrap +] +all-host: maybe-all-[+module+][+ IF bootstrap +] +@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR host_modules +] + .PHONY: all-target -all-target: [+ - FOR target_modules +] \ - maybe-all-target-[+module+][+ - ENDFOR target_modules +] +[+ FOR target_modules +][+ IF bootstrap +] +@if [+module+]-no-bootstrap[+ ENDIF bootstrap +] +all-target: maybe-all-target-[+module+][+ IF bootstrap +] +@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR target_modules +] # Do a target for all the subdirectories. A ``make do-X'' will do a # ``make X'' in all subdirectories (because, in general, there is a @@ -530,16 +522,12 @@ do-[+make_target+]: .PHONY: [+make_target+]-host -[+make_target+]-host: [+ - FOR host_modules +] \ - maybe-[+make_target+]-[+module+][+ - ENDFOR host_modules +] +[+ FOR host_modules +] +[+make_target+]-host: 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 +] +[+ FOR target_modules +] +[+make_target+]-target: maybe-[+make_target+]-target-[+module+][+ ENDFOR target_modules +] [+ ENDFOR recursive_targets +] # Here are the targets which correspond to the do-X targets. @@ -729,13 +717,17 @@ TAGS: do-TAGS maybe-configure-[+prefix+][+module+]: @if [+prefix+][+module+] maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+] -configure-[+prefix+][+module+]: - @[+ IF bootstrap +]test -f stage_last && exit 0; \ - [+ ELSE bootstrap +]: $(MAKE); $(unstage) - @[+ ENDIF bootstrap +][+ IF check_multilibs - +]r=`${PWD_COMMAND}`; export r; \ +configure-[+prefix+][+module+]: [+ IF bootstrap +] +@endif [+prefix+][+module+] +@if [+prefix+][+module+]-bootstrap + @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi +@endif [+prefix+][+module+]-bootstrap +@if [+prefix+][+module+][+ ELSE bootstrap +] + @: $(MAKE); $(unstage)[+ ENDIF bootstrap +] + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - echo "Checking multilib configuration for [+module+]..."; \ + [+ IF check_multilibs + +]echo "Checking multilib configuration for [+module+]..."; \ $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \ $(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \ if test -r [+subdir+]/[+module+]/multilib.out; then \ @@ -747,11 +739,9 @@ configure-[+prefix+][+module+]: fi; \ else \ mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \ - fi - @[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \ + fi; \ + [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \ $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ [+exports+] \ echo Configuring in [+subdir+]/[+module+]; \ cd "[+subdir+]/[+module+]" || exit 1; \ @@ -775,12 +765,12 @@ maybe-configure-stage[+id+]-[+prefix+][+module+]: @if [+prefix+][+module+]-bootstrap maybe-configure-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+] configure-stage[+id+]-[+prefix+][+module+]: - @[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start + @[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start @$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] - [+ IF check_multilibs - +]@r=`${PWD_COMMAND}`; export r; \ + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - echo "Checking multilib configuration for [+module+]..."; \ + [+ IF check_multilibs + +]echo "Checking multilib configuration for [+module+]..."; \ $(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \ if test -r [+subdir+]/[+module+]/multilib.out; then \ if cmp -s [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; then \ @@ -791,8 +781,8 @@ configure-stage[+id+]-[+prefix+][+module+]: fi; \ else \ mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \ - fi - @[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \ + fi; \ + [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \ [+exports+][+ IF prev +] \ [+poststage1_exports+][+ ENDIF prev +] \ echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \ @@ -820,10 +810,14 @@ maybe-all-[+prefix+][+module+]: TARGET-[+prefix+][+module+]=[+ IF target +][+target+][+ ELSE +]all[+ ENDIF target +] maybe-all-[+prefix+][+module+]: all-[+prefix+][+module+] -all-[+prefix+][+module+]: configure-[+prefix+][+module+] - @[+ IF bootstrap +]test -f stage_last && exit 0; \ - [+ ELSE bootstrap +]: $(MAKE); $(unstage) - @[+ ENDIF bootstrap +]r=`${PWD_COMMAND}`; export r; \ +all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +] +@endif [+prefix+][+module+] +@if [+prefix+][+module+]-bootstrap + @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi +@endif [+prefix+][+module+]-bootstrap +@if [+prefix+][+module+][+ ELSE bootstrap +] + @: $(MAKE); $(unstage)[+ ENDIF bootstrap +] + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ [+exports+] \ (cd [+subdir+]/[+module+] && \ @@ -841,7 +835,7 @@ maybe-all-stage[+id+]-[+prefix+][+module+]: all-stage[+id+]-[+prefix+][+module+] all-stage[+id+]: all-stage[+id+]-[+prefix+][+module+] TARGET-stage[+id+]-[+prefix+][+module+] = $(TARGET-[+prefix+][+module+]) all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+] - @[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start + @[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ [+exports+][+ IF prev +] \ @@ -857,7 +851,7 @@ clean-stage[+id+]: clean-stage[+id+]-[+prefix+][+module+] clean-stage[+id+]-[+prefix+][+module+]: @[ -f [+subdir+]/[+module+]/Makefile ] || [ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] \ || exit 0 ; \ - @[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start + [ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start; \ cd [+subdir+]/[+module+] && \ $(MAKE) [+args+] [+ IF prev +] \ [+poststage1_args+] [+ ENDIF prev +] \ @@ -1210,10 +1204,12 @@ gcc-no-fixedincludes: unstage = : stage = : +current_stage = "" @if gcc-bootstrap unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi +current_stage = "`cat stage_current 2> /dev/null`" @endif gcc-bootstrap .PHONY: unstage stage @@ -1222,6 +1218,9 @@ unstage: stage: @: $(MAKE); $(stage) +# Disable commands for lean bootstrap. +LEAN = false + # We name the build directories for the various stages "stage1-gcc", # "stage2-gcc","stage3-gcc", etc. @@ -1253,6 +1252,7 @@ POSTSTAGE1_FLAGS_TO_PASS = \ CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ STAGE_PREFIX=$$r/prev-gcc/ \ CFLAGS="$(BOOT_CFLAGS)" \ + LIBCFLAGS="$(BOOT_CFLAGS)" \ LDFLAGS="$(BOOT_LDFLAGS)" \ ADAC="\$$(CC)" @@ -1277,48 +1277,43 @@ stage[+id+]-start:: @if [+ module +] @cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \ mkdir stage[+id+]-[+module+]; \ - set stage[+id+]-[+module+] [+module+] ; \ - @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \ - set stage[+prev+]-[+module+] prev-[+module+] ; \ - @CREATE_LINK_TO_DIR@ [+ ENDIF prev +] + mv stage[+id+]-[+module+] [+module+] [+ IF prev +] ; \ + mv stage[+prev+]-[+module+] prev-[+module+] || test -f stage[+prev+]-lean [+ ENDIF prev +] @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +] @[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \ mkdir stage[+id+]-$(TARGET_SUBDIR); \ - set stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \ - @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \ - set stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \ - @CREATE_LINK_TO_DIR@ [+ ENDIF prev +] + mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) [+ IF prev +] ; \ + mv stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage[+prev+]-lean [+ ENDIF prev +] -stage[+id+]-end:: - @rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +] +stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +] @if [+ module +] - @if test -d $(HOST_SUBDIR) ; then \ - cd $(HOST_SUBDIR); set [+module+] stage[+id+]-[+module+] ; \ - @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \ - set prev-[+module+] stage[+prev+]-[+module+] ; \ - @UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \ + @if test -d $(HOST_SUBDIR)/[+module+] ; then \ + cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+] [+ IF prev +]; \ + mv prev-[+module+] stage[+prev+]-[+module+] ; : [+ ENDIF prev +] ; \ fi @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +] @if test -d $(TARGET_SUBDIR) ; then \ - set $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) ; \ - @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \ - set prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; \ - @UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \ + mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) [+ IF prev +] ; \ + mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; : [+ ENDIF prev +] ; \ fi + rm -f stage_current # Bubble a bugfix through all the stages up to stage [+id+]. They are # remade, but not reconfigured. The next stage (if any) will not be # reconfigured as well. .PHONY: stage[+id+]-bubble -stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +] - @bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +] +stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +] @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ if test -f stage[+id+]-lean [+ IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \ echo Skipping rebuild of stage[+id+] ; \ else \ - $(MAKE) stage[+id+]-start; \ + $(MAKE) stage[+id+]-start; \[+IF lean +] + if $(LEAN); then \ + rm -rf stage[+lean+]-* ; \ + $(STAMP) stage[+lean+]-lean ; \ + fi; \[+ ENDIF lean +] $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \ fi[+ IF compare-target +] $(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +] @@ -1339,6 +1334,7 @@ do-clean: clean-stage[+id+] fi; \ : $(MAKE); $(stage); \ rm -f .bad_compare ; \ + echo Comparing stages [+prev+] and [+id+] ; \ cd stage[+id+]-gcc; \ files=`find . -name "*$(objext)" -print` ; \ cd .. ; \ @@ -1359,14 +1355,17 @@ do-clean: clean-stage[+id+] cat .bad_compare; \ exit 1; \ else \ - true; \ + echo Comparison successful.; \ fi ; \ $(STAMP) [+compare-target+][+ IF prev +] - @bootstrap_lean@-rm -rf stage[+prev+]-* ; $(STAMP) stage[+prev+]-lean[+ ENDIF prev +] + if $(LEAN); then \ + rm -rf stage[+prev+]-*; \ + $(STAMP) stage[+prev+]-lean; \ + fi[+ ENDIF prev +] [+ ENDIF compare-target +] [+ IF bootstrap-target +] -.PHONY: [+bootstrap-target+] +.PHONY: [+bootstrap-target+] [+bootstrap-target+]-lean [+bootstrap-target+]: echo stage[+id+] > stage_final @r=`${PWD_COMMAND}`; export r; \ @@ -1376,6 +1375,16 @@ do-clean: clean-stage[+id+] @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target + +[+bootstrap-target+]-lean: + echo stage[+id+] > stage_final + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage[+id+]-bubble + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target [+ ENDIF bootstrap-target +] # Rules to wipe a stage and all the following ones, also used for cleanstrap @@ -1409,19 +1418,39 @@ stagefeedback-start:: @if gcc-bootstrap do-distclean: distclean-stage1 + +# Provide a GCC build when we're building target libraries. This does +# not work as a dependency, just as the minimum necessary to avoid errors. +stage_last: + $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble @endif gcc-bootstrap +.PHONY: restrap +restrap: + @: $(MAKE); $(stage) + rm -rf stage1-$(TARGET_SUBDIR) [+ FOR bootstrap-stage +][+ IF prev + +]stage[+id+] [+ ENDIF prev +][+ ENDFOR bootstrap-stage +] + $(MAKE) $(RECURSE_FLAGS_TO_PASS) all + # -------------------------------------- # Dependencies between different modules # -------------------------------------- # Generic dependencies for target modules on host stuff, especially gcc -[+ FOR target_modules +][+ IF bootstrap +] -@if gcc-bootstrap[+ FOR bootstrap_stage +] -configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+ ENDFOR +] -@endif gcc-bootstrap[+ ENDIF bootstrap +] -configure-target-[+module+]: maybe-all-gcc -[+ ENDFOR target_modules +] +@if gcc-bootstrap[+ FOR target_modules +][+ IF bootstrap + +][+ FOR bootstrap_stage +] +configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+ + ENDFOR +][+ ELSE bootstrap +] +configure-target-[+module+]: stage_last[+ + ENDIF bootstrap +][+ ENDFOR target_modules +] +@endif gcc-bootstrap + +@if gcc-no-bootstrap[+ FOR target_modules +][+ IF bootstrap + +][+ ELSE +] +configure-target-[+module+]: maybe-all-gcc[+ + ENDIF bootstrap +][+ ENDFOR target_modules +] +@endif gcc-no-bootstrap + [+ FOR lang_env_dependencies +] configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss