X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=Makefile.tpl;h=a348206c7bf129ff2a423dfa1280c42e6b4f3e03;hb=f6347e16334910d73f974b8b35092a979ddabb04;hp=018f18f5db4ec7f5bf88d41d23f55163b6a6fcd3;hpb=e4c4d240a370f0afc8a29b18f8e07affff9c4177;p=binutils-gdb.git diff --git a/Makefile.tpl b/Makefile.tpl index 018f18f5db4..a348206c7bf 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -194,13 +194,13 @@ M4 = `if [ -f $$r/m4/m4 ] ; \ then echo $$r/m4/m4 ; \ else echo ${DEFAULT_M4} ; fi` -# For an installed makeinfo, we require it to be from texinfo 4 or +# For an installed makeinfo, we require it to be from texinfo 4.2 or # higher, else we use the "missing" dummy. MAKEINFO=@MAKEINFO@ USUAL_MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ then echo $$r/texinfo/makeinfo/makeinfo ; \ else if (makeinfo --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \ + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ then echo makeinfo; else echo $$s/missing makeinfo; fi; fi` # This just becomes part of the MAKEINFO definition passed down to @@ -554,8 +554,16 @@ EXTRA_GCC_FLAGS = \ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) -configure-host: @configure_host_modules@ -configure-target: @configure_target_modules@ +.PHONY: configure-host +configure-host: maybe-configure-gcc [+ + FOR host_modules +] \ + maybe-configure-[+module+][+ + ENDFOR host_modules +] +.PHONY: configure-target +configure-target: [+ + FOR target_modules +] \ + maybe-configure-target-[+module+][+ + ENDFOR target_modules +] # This is a list of the targets for which we can do a clean-{target}. CLEAN_MODULES =[+ @@ -578,14 +586,19 @@ CLEAN_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\ clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +] # The target built for a native build. -# This list only includes modules actually being configured and built. .PHONY: all.normal -all.normal: @all_build_modules@ \ - @all_host_modules@ \ - @all_target_modules@ - -all-host: @all_host_modules@ -all-target: @all_target_modules@ +all.normal: @all_build_modules@ all-host all-target + +.PHONY: all-host +all-host: maybe-all-gcc [+ + FOR host_modules +] \ + maybe-all-[+module+][+ + ENDFOR host_modules +] +.PHONY: all-target +all-target: [+ + FOR target_modules +] \ + maybe-all-target-[+module+][+ + 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 @@ -730,8 +743,13 @@ check: $(MAKE) do-check NOTPARALLEL=parallel-ok # Only include modules actually being configured and built. -do-check: @check_host_modules@ \ - @check_target_modules@ +do-check: maybe-check-gcc [+ + FOR host_modules +] \ + maybe-check-[+module+][+ + ENDFOR host_modules +][+ + FOR target_modules +] \ + maybe-check-target-[+module+][+ + ENDFOR target_modules +] # Automated reporting of test results. @@ -757,9 +775,25 @@ mail-report-with-warnings.log: warning.log # Installation targets. .PHONY: install uninstall -install: installdirs @install_host_modules@ @install_target_modules@ - -install-target: @install_target_modules@ +install: installdirs install-host install-target + +.PHONY: install-host-nogcc +install-host-nogcc: [+ + FOR host_modules +] \ + maybe-install-[+module+][+ + ENDFOR host_modules +] + +.PHONY: install-host +install-host: maybe-install-gcc [+ + FOR host_modules +] \ + maybe-install-[+module+][+ + ENDFOR host_modules +] + +.PHONY: install-target +install-target: [+ + FOR target_modules +] \ + maybe-install-target-[+module+][+ + ENDFOR target_modules +] uninstall: @echo "the uninstall target is not supported in this tree" @@ -778,8 +812,8 @@ install.all: install-no-fixedincludes # install-no-fixedincludes is used because Cygnus can not distribute # the fixed header files. .PHONY: install-no-fixedincludes -install-no-fixedincludes: installdirs @install_host_modules_nogcc@ \ - @install_target_modules@ gcc-no-fixedincludes +install-no-fixedincludes: installdirs install-host-nogcc \ + install-target gcc-no-fixedincludes ### other supporting targets @@ -940,11 +974,11 @@ all-[+module+]: configure-[+module+] +] $(X11_FLAGS_TO_PASS)[+ ENDIF with_x +] all) +.PHONY: check-[+module+] maybe-check-[+module+] +maybe-check-[+module+]: [+ IF no_check +] -.PHONY: check-[+module+] check-[+module+]: [+ ELIF no_check_cross +] -.PHONY: check-[+module+] # This module is only tested in a native toolchain. check-[+module+]: @if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ @@ -957,7 +991,6 @@ check-[+module+]: ENDIF with_x +] check); \ fi [+ ELSE check +] -.PHONY: check-[+module+] check-[+module+]: @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ @@ -968,13 +1001,11 @@ check-[+module+]: ENDIF with_x +] check) [+ ENDIF no_check +] -[+ IF no_install +] .PHONY: install-[+module+] maybe-install-[+module+] maybe-install-[+module+]: +[+ IF no_install +] install-[+module+]: [+ ELSE install +] -.PHONY: install-[+module+] maybe-install-[+module+] -maybe-install-[+module+]: install-[+module+]: installdirs @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ @@ -1079,12 +1110,13 @@ all-target-[+module+]: configure-target-[+module+] +] 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+ ENDIF raw_cxx +] all) + +.PHONY: check-target-[+module+] maybe-check-target-[+module+] +maybe-check-target-[+module+]: [+ IF no_check +] # Dummy target for uncheckable module. -.PHONY: check-target-[+module+] check-target-[+module+]: [+ ELSE check +] -.PHONY: check-target-[+module+] check-target-[+module+]: @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ @@ -1096,14 +1128,13 @@ check-target-[+module+]: ENDIF raw_cxx +] check) [+ ENDIF no_check +] -[+ IF no_install +] + .PHONY: install-target-[+module+] maybe-install-target-[+module+] maybe-install-target-[+module+]: +[+ IF no_install +] # Dummy target for uninstallable. install-target-[+module+]: [+ ELSE install +] -.PHONY: install-target-[+module+] maybe-install-target-[+module+] -maybe-install-target-[+module+]: install-target-[+module+]: installdirs @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ @@ -1238,7 +1269,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; \ @@ -1334,6 +1366,8 @@ all-binutils: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-flex # binutils might be on PATH, and they might need the shared opcodes # library. install-binutils: maybe-install-opcodes +# libopcodes depends on libbfd +install-opcodes: maybe-install-bfd all-gas: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-intl all-gprof: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-intl all-ld: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-intl @@ -1400,7 +1434,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)