From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 823 invoked by alias); 25 Feb 2003 20:37:13 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 752 invoked from network); 25 Feb 2003 20:37:13 -0000 Received: from unknown (HELO ms-smtp-01.nyroc.rr.com) (24.92.226.148) by 172.16.49.205 with SMTP; 25 Feb 2003 20:37:13 -0000 Received: from doctormoo (syr-24-24-17-145.twcny.rr.com [24.24.17.145]) by ms-smtp-01.nyroc.rr.com (8.12.5/8.12.2) with ESMTP id h1PKbBb1001910; Tue, 25 Feb 2003 15:37:11 -0500 (EST) Received: from neroden by doctormoo with local (Exim 3.36 #1 (Debian)) id 18nloy-0003ld-00; Tue, 25 Feb 2003 15:37:00 -0500 Date: Tue, 25 Feb 2003 20:37:00 -0000 To: gcc-patches@gcc.gnu.org, gdb-patches@sources.redhat.com, binutils@sources.redhat.com, dj@redhat.com Subject: Toplevel Makefile.tpl cleanup 1/n Message-ID: <20030225203659.GA14269@doctormoo> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i From: Nathanael Nerode X-SW-Source: 2003-02/txt/msg00656.txt.bz2 This enormous patch should have no effect. :-) It cleans up the many settings of Make macros by sorting them into sections; it doesn't actually add or delete anything. You'll probably find the fulltext more enlightening. The main purpose is to increase maintainability of this file. There are more rearrangement cleanups like this which I may be able to do, but this is enough for one pass. Currently bootstrapping on i686-pc-linux-gnu just in case I made some silly mistake. If that's OK, can I put this in? * Makefile.tpl: Rearrange. * Makefile.in: Regenerate. Index: Makefile.tpl =================================================================== RCS file: /cvs/gcc/gcc/Makefile.tpl,v retrieving revision 1.35 diff -c -3 -r1.35 Makefile.tpl *** Makefile.tpl 21 Feb 2003 01:55:04 -0000 1.35 --- Makefile.tpl 25 Feb 2003 20:27:30 -0000 *************** *** 23,30 **** # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # VPATH=@srcdir@ - links=@configlinks@ build_alias=@build_alias@ build_cpu=@build_cpu@ --- 23,32 ---- # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # + # ------------------------------- + # Standard Autoconf-set variables + # ------------------------------- VPATH=@srcdir@ build_alias=@build_alias@ build_cpu=@build_cpu@ *************** *** 42,62 **** target_os=@target_os@ target_canonical=@target_cpu@-@target_vendor@-@target_os@ ! enable_shared = @enable_shared@ ! enable_threads = @enable_threads@ ! enable_version_specific_runtime_libs = @enable_version_specific_runtime_libs@ ! # The file containing GCC's version number. ! gcc_version_trigger = @gcc_version_trigger@ ! gcc_version = @gcc_version@ ! ! # The gcc driver likes to know the arguments it was configured with. ! TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@ ! ! srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ --- 44,56 ---- target_os=@target_os@ target_canonical=@target_cpu@-@target_vendor@-@target_os@ ! program_transform_name = @program_transform_name@ prefix = @prefix@ exec_prefix = @exec_prefix@ + srcdir = @srcdir@ + bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ *************** *** 69,82 **** oldincludedir = @oldincludedir@ infodir = @infodir@ mandir = @mandir@ - gxx_include_dir = @gxx_include_dir@ - libstdcxx_incdir = @libstdcxx_incdir@ - - tooldir = @tooldir@ - build_tooldir = @build_tooldir@ - - program_transform_name = @program_transform_name@ - man1dir = $(mandir)/man1 man2dir = $(mandir)/man2 man3dir = $(mandir)/man3 --- 63,68 ---- *************** *** 86,102 **** man7dir = $(mandir)/man7 man8dir = $(mandir)/man8 man9dir = $(mandir)/man9 - # Directory in which the compiler finds executables, libraries, etc. - libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version) - GDB_NLM_DEPS = - - SHELL = @config_shell@ - - # pwd command to use. Allow user to override default by setting PWDCMD in - # the environment to account for automounters. The make variable must not - # be called PWDCMD, otherwise the value set here is passed to make - # subprocesses and overrides the setting from the user's environment. - PWD = $${PWDCMD-pwd} # INSTALL_PROGRAM_ARGS is changed by configure.in to use -x for a # cygwin host. --- 72,77 ---- *************** *** 107,158 **** INSTALL_SCRIPT = $(INSTALL) INSTALL_DATA = $(INSTALL) -m 644 ! AS = @AS@ ! AR = @AR@ ! AR_FLAGS = rc ! RANLIB = @RANLIB@ ! CC = @CC@ ! # 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@ ! CFLAGS = @CFLAGS@ ! CXXFLAGS = @CXXFLAGS@ ! LDFLAGS = ! LIBCFLAGS = $(CFLAGS) ! CFLAGS_FOR_BUILD = $(CFLAGS) ! # 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) ! LDFLAGS_FOR_TARGET = ! LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) ! PICFLAG = ! PICFLAG_FOR_TARGET = ! CXX = @CXX@ ! # Use -O2 to stress test the compiler. ! LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates ! CXXFLAGS_FOR_TARGET = $(CXXFLAGS) ! LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates ! DLLTOOL = @DLLTOOL@ ! WINDRES = @WINDRES@ ! NM = @NM@ ! LD = @LD@ ! # These values are substituted by configure. ! DEFAULT_YACC = @DEFAULT_YACC@ ! DEFAULT_LEX = @DEFAULT_LEX@ ! DEFAULT_M4 = @DEFAULT_M4@ BISON=@BISON@ USUAL_BISON = `if [ -f $$r/bison/bison ] ; then \ --- 82,173 ---- INSTALL_SCRIPT = $(INSTALL) INSTALL_DATA = $(INSTALL) -m 644 ! # ------------------------------------------------- ! # Miscellaneous non-standard autoconf-set variables ! # ------------------------------------------------- ! links=@configlinks@ ! enable_shared = @enable_shared@ ! enable_threads = @enable_threads@ ! enable_version_specific_runtime_libs = @enable_version_specific_runtime_libs@ ! # The file containing GCC's version number. ! gcc_version_trigger = @gcc_version_trigger@ ! gcc_version = @gcc_version@ ! # The gcc driver likes to know the arguments it was configured with. ! TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@ ! gxx_include_dir = @gxx_include_dir@ ! libstdcxx_incdir = @libstdcxx_incdir@ ! tooldir = @tooldir@ ! build_tooldir = @build_tooldir@ ! # Directory in which the compiler finds executables, libraries, etc. ! libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version) ! GDB_NLM_DEPS = ! # This is the name of the environment variable used for the path to ! # the libraries. ! RPATH_ENVVAR = @RPATH_ENVVAR@ ! # This is set by configure to REALLY_SET_LIB_PATH if --enable-shared ! # was used. ! SET_LIB_PATH = @SET_LIB_PATH@ ! # configure.in sets SET_LIB_PATH to this if --enable-shared was used. ! # Some platforms don't like blank entries, so we remove duplicate, ! # leading and trailing colons. ! REALLY_SET_LIB_PATH = \ ! $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(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 ! # directories built for the build system. ! BUILD_CONFIGARGS = @build_configargs@ ! ! # This is the list of directories to built for the host system. ! SUBDIRS = @configdirs@ ! # This is set by the configure script to the arguments to use when configuring ! # directories built for the host system. ! HOST_CONFIGARGS = @host_configargs@ ! ! # 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 ! # directories built for the target. ! TARGET_CONFIGARGS = @target_configargs@ ! ! # ---------------------------------------------- ! # Programs producing files for the BUILD machine ! # ---------------------------------------------- ! ! SHELL = @config_shell@ ! ! # pwd command to use. Allow user to override default by setting PWDCMD in ! # the environment to account for automounters. The make variable must not ! # be called PWDCMD, otherwise the value set here is passed to make ! # subprocesses and overrides the setting from the user's environment. ! PWD = $${PWDCMD-pwd} ! ! # compilers to use to create programs which must be run in the build ! # environment. ! CC_FOR_BUILD = @CC_FOR_BUILD@ ! CFLAGS_FOR_BUILD = $(CFLAGS) ! ! 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@ BISON=@BISON@ USUAL_BISON = `if [ -f $$r/bison/bison ] ; then \ *************** *** 161,166 **** --- 176,182 ---- echo bison ; \ fi` + DEFAULT_YACC = @DEFAULT_YACC@ YACC=@YACC@ USUAL_YACC = `if [ -f $$r/bison/bison ] ; then \ echo $$r/bison/bison -y -L $$s/bison/ ; \ *************** *** 170,180 **** --- 186,198 ---- echo ${DEFAULT_YACC} ; \ fi` + DEFAULT_LEX = @DEFAULT_LEX@ LEX=@LEX@ USUAL_LEX = `if [ -f $$r/flex/flex ] ; \ then echo $$r/flex/flex ; \ else echo ${DEFAULT_LEX} ; fi` + DEFAULT_M4 = @DEFAULT_M4@ M4 = `if [ -f $$r/m4/m4 ] ; \ then echo $$r/m4/m4 ; \ else echo ${DEFAULT_M4} ; fi` *************** *** 201,274 **** then echo $$s/dejagnu/runtest ; \ else echo runtest ; fi` ! # compilers to use to create programs which must be run in the build ! # environment. ! CC_FOR_BUILD = @CC_FOR_BUILD@ ! CXX_FOR_BUILD = $(CXX) ! SUBDIRS = @configdirs@ ! # 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: ! # Changed by configure to $(target_alias) if cross. ! TARGET_SUBDIR = @target_subdir@ ! BUILD_CONFIGDIRS = libiberty ! BUILD_SUBDIR = @build_subdir@ ! # This is set by the configure script to the arguments to use when configuring ! # directories built for the build system. ! BUILD_CONFIGARGS = @build_configargs@ ! # This is set by the configure script to the arguments to use when configuring ! # directories built for the host system. ! HOST_CONFIGARGS = @host_configargs@ ! # This is set by the configure script to the arguments to use when configuring ! # directories built for the target. ! TARGET_CONFIGARGS = @target_configargs@ ! # This is set by configure to REALLY_SET_LIB_PATH if --enable-shared ! # was used. ! SET_LIB_PATH = @SET_LIB_PATH@ ! # This is the name of the environment variable used for the path to ! # the libraries. This may be changed by configure.in. ! RPATH_ENVVAR = @RPATH_ENVVAR@ ! # This is the list of directories that may be needed in RPATH_ENVVAR ! # so that programs built for the host machine work. ! HOST_LIB_PATH = $$r/bfd:$$r/opcodes # This is the list of directories that may be needed in RPATH_ENVVAR # so that prorgams built for the target machine work. TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: - # configure.in sets SET_LIB_PATH to this if --enable-shared was used. - # Some platforms don't like blank entries, so we remove duplicate, - # leading and trailing colons. - REALLY_SET_LIB_PATH = \ - $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); - - # Should be substed by configure.in FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ - CC_FOR_TARGET = @CC_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@ - GCJ_FOR_TARGET = @GCJ_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@ ! USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) AS_FOR_TARGET=@AS_FOR_TARGET@ USUAL_AS_FOR_TARGET = ` \ --- 219,279 ---- then echo $$s/dejagnu/runtest ; \ else echo runtest ; fi` + # --------------------------------------------- + # Programs producing files for the HOST machine + # --------------------------------------------- ! # This is the list of directories that may be needed in RPATH_ENVVAR ! # so that programs built for the host machine work. ! HOST_LIB_PATH = $$r/bfd:$$r/opcodes ! AS = @AS@ ! AR = @AR@ ! AR_FLAGS = rc ! CC = @CC@ ! CFLAGS = @CFLAGS@ ! LIBCFLAGS = $(CFLAGS) ! CXX = @CXX@ ! CXXFLAGS = @CXXFLAGS@ ! LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates ! DLLTOOL = @DLLTOOL@ ! NM = @NM@ ! LD = @LD@ ! LDFLAGS = ! RANLIB = @RANLIB@ ! WINDRES = @WINDRES@ ! PICFLAG = ! ! # ----------------------------------------------- ! # Programs producing files for the TARGET machine ! # ----------------------------------------------- # This is the list of directories that may be needed in RPATH_ENVVAR # so that prorgams built for the target machine work. TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs: FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ ! AR_FOR_TARGET=@AR_FOR_TARGET@ ! USUAL_AR_FOR_TARGET = ` \ ! if [ -f $$r/binutils/ar ] ; then \ ! echo $$r/binutils/ar ; \ ! else \ ! if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(AR); \ ! else \ ! echo ar | sed '$(program_transform_name)' ; \ ! fi; \ ! fi` AS_FOR_TARGET=@AS_FOR_TARGET@ USUAL_AS_FOR_TARGET = ` \ *************** *** 284,302 **** fi; \ fi` ! LD_FOR_TARGET=@LD_FOR_TARGET@ ! USUAL_LD_FOR_TARGET = ` \ ! if [ -f $$r/ld/ld-new ] ; then \ ! echo $$r/ld/ld-new ; \ ! elif [ -f $$r/gcc/xgcc ]; then \ ! $(CC_FOR_TARGET) -print-prog-name=ld ; \ ! else \ ! if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(LD); \ ! else \ ! echo ld | sed '$(program_transform_name)' ; \ ! fi; \ ! fi` DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ USUAL_DLLTOOL_FOR_TARGET = ` \ --- 289,314 ---- fi; \ fi` ! CC_FOR_TARGET = @CC_FOR_TARGET@ ! # 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) ! # 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@ ! USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/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@ ! CXXFLAGS_FOR_TARGET = $(CXXFLAGS) ! LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ USUAL_DLLTOOL_FOR_TARGET = ` \ *************** *** 310,336 **** fi; \ fi` ! WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ ! USUAL_WINDRES_FOR_TARGET = ` \ ! if [ -f $$r/binutils/windres ] ; then \ ! echo $$r/binutils/windres ; \ else \ if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(WINDRES); \ else \ ! echo windres | sed '$(program_transform_name)' ; \ fi; \ fi` ! AR_FOR_TARGET=@AR_FOR_TARGET@ ! USUAL_AR_FOR_TARGET = ` \ ! if [ -f $$r/binutils/ar ] ; then \ ! echo $$r/binutils/ar ; \ else \ if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(AR); \ else \ ! echo ar | sed '$(program_transform_name)' ; \ fi; \ fi` --- 322,356 ---- fi; \ fi` ! GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ ! ! LD_FOR_TARGET=@LD_FOR_TARGET@ ! USUAL_LD_FOR_TARGET = ` \ ! if [ -f $$r/ld/ld-new ] ; then \ ! echo $$r/ld/ld-new ; \ ! elif [ -f $$r/gcc/xgcc ]; then \ ! $(CC_FOR_TARGET) -print-prog-name=ld ; \ else \ if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(LD); \ else \ ! echo ld | sed '$(program_transform_name)' ; \ fi; \ fi` ! LDFLAGS_FOR_TARGET = ! ! NM_FOR_TARGET=@NM_FOR_TARGET@ ! USUAL_NM_FOR_TARGET = ` \ ! if [ -f $$r/binutils/nm-new ] ; then \ ! echo $$r/binutils/nm-new ; \ ! elif [ -f $$r/gcc/xgcc ]; then \ ! $(CC_FOR_TARGET) -print-prog-name=nm ; \ else \ if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(NM); \ else \ ! echo nm | sed '$(program_transform_name)' ; \ fi; \ fi` *************** *** 350,368 **** fi; \ fi` ! NM_FOR_TARGET=@NM_FOR_TARGET@ ! USUAL_NM_FOR_TARGET = ` \ ! if [ -f $$r/binutils/nm-new ] ; then \ ! echo $$r/binutils/nm-new ; \ ! elif [ -f $$r/gcc/xgcc ]; then \ ! $(CC_FOR_TARGET) -print-prog-name=nm ; \ else \ if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(NM); \ else \ ! echo nm | sed '$(program_transform_name)' ; \ fi; \ fi` # The first rule in the file had better be this one. Don't put any above it. # This lives here to allow makefile fragments to contain dependencies. --- 370,392 ---- fi; \ fi` ! WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ ! USUAL_WINDRES_FOR_TARGET = ` \ ! if [ -f $$r/binutils/windres ] ; then \ ! echo $$r/binutils/windres ; \ else \ if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ ! echo $(WINDRES); \ else \ ! echo windres | sed '$(program_transform_name)' ; \ fi; \ fi` + + PICFLAG_FOR_TARGET = + + # ------------------------------------ + # Miscellaneous targets and flag lists + # ------------------------------------ # The first rule in the file had better be this one. Don't put any above it. # This lives here to allow makefile fragments to contain dependencies.