
1: [+ AutoGen5 template -*- Mode: Makefile -*- 2: in 3: +] 4: 5: # Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'. 6: # 7: # Makefile for directory with subdirs to build. 8: # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 9: # 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation 10: # 11: # This file is free software; you can redistribute it and/or modify 12: # it under the terms of the GNU General Public License as published by 13: # the Free Software Foundation; either version 2 of the License, or 14: # (at your option) any later version. 15: # 16: # This program is distributed in the hope that it will be useful, 17: # but WITHOUT ANY WARRANTY; without even the implied warranty of 18: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19: # GNU General Public License for more details. 20: # 21: # You should have received a copy of the GNU General Public License 22: # along with this program; if not, write to the Free Software 23: # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 24: # 25: 26: # ------------------------------- 27: # Standard Autoconf-set variables 28: # ------------------------------- 29: VPATH=@srcdir@ 30: 31: build_alias=@build_noncanonical@ 32: build_vendor=@build_vendor@ 33: build_os=@build_os@ 34: build=@build@ 35: host_alias=@host_noncanonical@ 36: host_vendor=@host_vendor@ 37: host_os=@host_os@ 38: host=@host@ 39: target_alias=@target_noncanonical@ 40: target_vendor=@target_vendor@ 41: target_os=@target_os@ 42: target=@target@ 43: 44: program_transform_name = @program_transform_name@ 45: 46: prefix = @prefix@ 47: exec_prefix = @exec_prefix@ 48: 49: srcdir = @srcdir@ 50: 51: bindir = @bindir@ 52: sbindir = @sbindir@ 53: libexecdir = @libexecdir@ 54: datadir = @datadir@ 55: sysconfdir = @sysconfdir@ 56: sharedstatedir = @sharedstatedir@ 57: localstatedir = @localstatedir@ 58: libdir = @libdir@ 59: includedir = @includedir@ 60: oldincludedir = @oldincludedir@ 61: infodir = @infodir@ 62: datarootdir = @datarootdir@ 63: docdir = @docdir@ 64: pdfdir = @pdfdir@ 65: htmldir = @htmldir@ 66: mandir = @mandir@ 67: man1dir = $(mandir)/man1 68: man2dir = $(mandir)/man2 69: man3dir = $(mandir)/man3 70: man4dir = $(mandir)/man4 71: man5dir = $(mandir)/man5 72: man6dir = $(mandir)/man6 73: man7dir = $(mandir)/man7 74: man8dir = $(mandir)/man8 75: man9dir = $(mandir)/man9 76: 77: INSTALL = @INSTALL@ 78: INSTALL_PROGRAM = @INSTALL_PROGRAM@ 79: INSTALL_SCRIPT = @INSTALL_SCRIPT@ 80: INSTALL_DATA = @INSTALL_DATA@ 81: LN = @LN@ 82: LN_S = @LN_S@ 83: MAINT = @MAINT@ 84: MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ 85: MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ 86: 87: # ------------------------------------------------- 88: # Miscellaneous non-standard autoconf-set variables 89: # ------------------------------------------------- 90: 91: # The gcc driver likes to know the arguments it was configured with. 92: TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@ 93: 94: tooldir = @tooldir@ 95: build_tooldir = @build_tooldir@ 96: 97: GDB_NLM_DEPS = 98: 99: # This is the name of the environment variable used for the path to 100: # the libraries. 101: RPATH_ENVVAR = @RPATH_ENVVAR@ 102: 103: # Build programs are put under this directory. 104: BUILD_SUBDIR = @build_subdir@ 105: # This is set by the configure script to the arguments to use when configuring 106: # directories built for the build system. 107: BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)" 108: 109: # This is the list of variables to export in the environment when 110: # configuring any subdirectory. It must also be exported whenever 111: # recursing into a build directory in case that directory's Makefile 112: # re-runs configure. 113: BASE_EXPORTS = \ 114: FLEX="$(FLEX)"; export FLEX; \ 115: LEX="$(LEX)"; export LEX; \ 116: BISON="$(BISON)"; export BISON; \ 117: YACC="$(YACC)"; export YACC; \ 118: M4="$(M4)"; export M4; \ 119: MAKEINFO="$(MAKEINFO)"; export MAKEINFO; 120: 121: # This is the list of variables to export in the environment when 122: # configuring subdirectories for the build system. 123: BUILD_EXPORTS = \ 124: $(BASE_EXPORTS) \ 125: AR="$(AR_FOR_BUILD)"; export AR; \ 126: AS="$(AS_FOR_BUILD)"; export AS; \ 127: CC="$(CC_FOR_BUILD)"; export CC; \ 128: CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ 129: CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ 130: CXX="$(CXX_FOR_BUILD)"; export CXX; \ 131: CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ 132: GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ 133: GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ 134: DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ 135: LD="$(LD_FOR_BUILD)"; export LD; \ 136: LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ 137: NM="$(NM_FOR_BUILD)"; export NM; \ 138: RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \ 139: WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \ 140: WINDMC="$(WINDMC_FOR_BUILD)"; export WINDMC; 141: 142: # This is the list of directories to built for the host system. 143: SUBDIRS = @configdirs@ 144: # This is set by the configure script to the arguments to use when configuring 145: # directories built for the host system. 146: HOST_CONFIGARGS = @host_configargs@ 147: # Host programs are put under this directory, which is . except if building 148: # with srcdir=.. 149: HOST_SUBDIR = @host_subdir@ 150: # This is the list of variables to export in the environment when 151: # configuring subdirectories for the host system. We need to pass 152: # some to the GCC configure because of its hybrid host/target nature. 153: HOST_EXPORTS = \ 154: $(BASE_EXPORTS) \ 155: CC="$(CC)"; export CC; \ 156: CFLAGS="$(CFLAGS)"; export CFLAGS; \ 157: CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ 158: CXX="$(CXX)"; export CXX; \ 159: CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ 160: AR="$(AR)"; export AR; \ 161: AS="$(AS)"; export AS; \ 162: CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ 163: DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ 164: LD="$(LD)"; export LD; \ 165: LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \ 166: NM="$(NM)"; export NM; \ 167: RANLIB="$(RANLIB)"; export RANLIB; \ 168: WINDRES="$(WINDRES)"; export WINDRES; \ 169: WINDMC="$(WINDMC)"; export WINDMC; \ 170: OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \ 171: OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ 172: AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \ 173: AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \ 174: GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \ 175: LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \ 176: NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \ 177: OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \ 178: RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \ 179: TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ 180: GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ 181: GMPINC="$(HOST_GMPINC)"; export GMPINC; \ 182: @if gcc-bootstrap 183: $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ 184: @endif gcc-bootstrap 185: $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); 186: 187: # Similar, for later GCC stages. 188: POSTSTAGE1_HOST_EXPORTS = \ 189: $(HOST_EXPORTS) \ 190: CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \ 191: -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \ 192: CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \ 193: $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \ 194: -B$$r/$(HOST_SUBDIR)/prev-gcc/ \ 195: -B$(build_tooldir)/bin/"; export CC_FOR_BUILD; \ 196: LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS; 197: 198: # Target libraries are put under this directory: 199: TARGET_SUBDIR = @target_subdir@ 200: # This is set by the configure script to the arguments to use when configuring 201: # directories built for the target. 202: TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)" 203: # This is the list of variables to export in the environment when 204: # configuring subdirectories for the host system. 205: BASE_TARGET_EXPORTS = \ 206: $(BASE_EXPORTS) \ 207: AR="$(AR_FOR_TARGET)"; export AR; \ 208: AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ 209: CC="$(CC_FOR_TARGET)"; export CC; \ 210: CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ 211: CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ 212: CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ 213: CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ 214: GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \ 215: GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \ 216: DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ 217: LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \ 218: LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ 219: LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \ 220: NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \ 221: OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \ 222: RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ 223: STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ 224: WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ 225: WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \ 226: $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); 227: 228: RAW_CXX_TARGET_EXPORTS = \ 229: $(BASE_TARGET_EXPORTS) \ 230: CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ 231: CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; 232: 233: NORMAL_TARGET_EXPORTS = \ 234: $(BASE_TARGET_EXPORTS) \ 235: CXX="$(CXX_FOR_TARGET)"; export CXX; 236: 237: # Where to find GMP 238: HOST_GMPLIBS = @gmplibs@ 239: HOST_GMPINC = @gmpinc@ 240: 241: # ---------------------------------------------- 242: # Programs producing files for the BUILD machine 243: # ---------------------------------------------- 244: 245: SHELL = @config_shell@ 246: 247: # pwd command to use. Allow user to override default by setting PWDCMD in 248: # the environment to account for automounters. The make variable must not 249: # be called PWDCMD, otherwise the value set here is passed to make 250: # subprocesses and overrides the setting from the user's environment. 251: # Don't use PWD since it is a common shell environment variable and we 252: # don't want to corrupt it. 253: PWD_COMMAND = $${PWDCMD-pwd} 254: 255: # compilers to use to create programs which must be run in the build 256: # environment. 257: CC_FOR_BUILD = @CC_FOR_BUILD@ 258: CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ 259: 260: CXX_FOR_BUILD = $(CXX) 261: 262: # Special variables passed down in EXTRA_GCC_FLAGS. They are defined 263: # here so that they can be overridden by Makefile fragments. 264: BUILD_PREFIX = @BUILD_PREFIX@ 265: BUILD_PREFIX_1 = @BUILD_PREFIX_1@ 266: 267: # Flags to pass to stage2 and later makes. They are defined 268: # here so that they can be overridden by Makefile fragments. 269: BOOT_CFLAGS= -g -O2 270: BOOT_LDFLAGS= 271: 272: BISON = @BISON@ 273: YACC = @YACC@ 274: FLEX = @FLEX@ 275: LEX = @LEX@ 276: M4 = @M4@ 277: MAKEINFO = @MAKEINFO@ 278: EXPECT = @EXPECT@ 279: RUNTEST = @RUNTEST@ 280: 281: # This just becomes part of the MAKEINFO definition passed down to 282: # sub-makes. It lets flags be given on the command line while still 283: # using the makeinfo from the object tree. 284: # (Default to avoid splitting info files by setting the threshold high.) 285: MAKEINFOFLAGS = --split-size=5000000 286: 287: # --------------------------------------------- 288: # Programs producing files for the HOST machine 289: # --------------------------------------------- 290: 291: AS = @AS@ 292: AR = @AR@ 293: AR_FLAGS = rc 294: CC = @CC@ 295: CXX = @CXX@ 296: DLLTOOL = @DLLTOOL@ 297: LD = @LD@ 298: LIPO = @LIPO@ 299: NM = @NM@ 300: OBJDUMP = @OBJDUMP@ 301: RANLIB = @RANLIB@ 302: STRIP = @STRIP@ 303: WINDRES = @WINDRES@ 304: WINDMC = @WINDMC@ 305: 306: GNATBIND = @GNATBIND@ 307: GNATMAKE = @GNATMAKE@ 308: 309: CFLAGS = @CFLAGS@ 310: LDFLAGS = @LDFLAGS@ 311: LIBCFLAGS = $(CFLAGS) 312: CXXFLAGS = @CXXFLAGS@ 313: LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates 314: PICFLAG = 315: 316: # Only build the C compiler for stage1, because that is the only one that 317: # we can guarantee will build with the native compiler, and also it is the 318: # only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS), 319: # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them 320: # overrideable (for a bootstrap build stage1 also builds gcc.info). 321: 322: STAGE1_CFLAGS=@stage1_cflags@ 323: STAGE1_CHECKING=@stage1_checking@ 324: STAGE1_LANGUAGES=@stage1_languages@ 325: 326: # ----------------------------------------------- 327: # Programs producing files for the TARGET machine 328: # ----------------------------------------------- 329: 330: FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ 331: 332: AR_FOR_TARGET=@AR_FOR_TARGET@ 333: AS_FOR_TARGET=@AS_FOR_TARGET@ 334: CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET) 335: 336: # If GCC_FOR_TARGET is not overriden on the command line, then this 337: # variable is passed down to the gcc Makefile, where it is used to 338: # build libgcc2.a. We define it here so that it can itself be 339: # overridden on the command line. 340: GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET) 341: CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET) 342: RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET) 343: GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET) 344: GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET) 345: DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ 346: LD_FOR_TARGET=@LD_FOR_TARGET@ 347: 348: LIPO_FOR_TARGET=@LIPO_FOR_TARGET@ 349: NM_FOR_TARGET=@NM_FOR_TARGET@ 350: OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@ 351: RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ 352: STRIP_FOR_TARGET=@STRIP_FOR_TARGET@ 353: WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ 354: WINDMC_FOR_TARGET=@WINDMC_FOR_TARGET@ 355: 356: COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@ 357: COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@ 358: COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@ 359: 360: # During gcc bootstrap, if we use some random cc for stage1 then 361: # CFLAGS will be just -g. We want to ensure that TARGET libraries 362: # (which we know are built with gcc) are built with optimizations so 363: # prepend -O2 when setting CFLAGS_FOR_TARGET. 364: CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) 365: SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ 366: CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) 367: LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) 368: LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates 369: LDFLAGS_FOR_TARGET = 370: PICFLAG_FOR_TARGET = 371: 372: # ------------------------------------ 373: # Miscellaneous targets and flag lists 374: # ------------------------------------ 375: 376: # The first rule in the file had better be this one. Don't put any above it. 377: # This lives here to allow makefile fragments to contain dependencies. 378: all: 379: 380: #### host and target specific makefile fragments come in here. 381: @target_makefile_frag@ 382: @alphaieee_frag@ 383: @ospace_frag@ 384: @host_makefile_frag@ 385: ### 386: 387: # This is the list of directories that may be needed in RPATH_ENVVAR 388: # so that prorgams built for the target machine work. 389: TARGET_LIB_PATH = [+ FOR target_modules +][+ 390: IF lib_path +]$(TARGET_LIB_PATH_[+module+])[+ ENDIF lib_path +][+ 391: ENDFOR target_modules +]$(HOST_LIB_PATH_gcc) 392: [+ FOR target_modules +][+ IF lib_path +] 393: @if target-[+module+] 394: TARGET_LIB_PATH_[+module+] = $$r/$(TARGET_SUBDIR)/[+module+]/[+lib_path+]: 395: @endif target-[+module+] 396: [+ ENDIF lib_path +][+ ENDFOR target_modules +] 397: 398: 399: # This is the list of directories that may be needed in RPATH_ENVVAR 400: # so that programs built for the host machine work. 401: HOST_LIB_PATH = [+ FOR host_modules +][+ 402: IF lib_path +]$(HOST_LIB_PATH_[+module+])[+ ENDIF lib_path +][+ 403: ENDFOR host_modules +] 404: 405: # Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch 406: @if gcc 407: HOST_LIB_PATH_gcc = $$r/$(HOST_SUBDIR)/gcc:$$r/$(HOST_SUBDIR)/prev-gcc: 408: @endif gcc 409: 410: [+ FOR host_modules +][+ IF lib_path +] 411: @if [+module+] 412: HOST_LIB_PATH_[+module+] = \ 413: $$r/$(HOST_SUBDIR)/[+module+]/[+lib_path+]:[+ IF bootstrap 414: +]$$r/$(HOST_SUBDIR)/prev-[+module+]/[+lib_path+]:[+ ENDIF bootstrap +] 415: @endif [+module+] 416: [+ ENDIF lib_path +][+ ENDFOR host_modules +] 417: 418: # Flags to pass down to all sub-makes. 419: BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass +][+ IF optional +] \ 420: "`echo '[+flag+]=$([+flag+])' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"[+ ELSE optional +] \ 421: "[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +] \ 422: "CONFIG_SHELL=$(SHELL)" \ 423: "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 424: 425: # We leave this in just in case, but it is not needed anymore. 426: RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) 427: 428: # Flags to pass down to most sub-makes, in which we're building with 429: # the host environment. 430: EXTRA_HOST_FLAGS = \ 431: 'AR=$(AR)' \ 432: 'AS=$(AS)' \ 433: 'CC=$(CC)' \ 434: 'CXX=$(CXX)' \ 435: 'DLLTOOL=$(DLLTOOL)' \ 436: 'LD=$(LD)' \ 437: 'LIPO=$(LIPO)' \ 438: 'NM=$(NM)' \ 439: 'OBJDUMP=$(OBJDUMP)' \ 440: 'RANLIB=$(RANLIB)' \ 441: 'STRIP=$(STRIP)' \ 442: 'WINDRES=$(WINDRES)' \ 443: 'WINDMC=$(WINDMC)' 444: 445: FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) 446: 447: # Flags that are concerned with the location of the X11 include files 448: # and library files 449: # 450: # NOTE: until the top-level is getting the values via autoconf, it only 451: # causes problems to have this top-level Makefile overriding the autoconf-set 452: # values in child directories. Only variables that don't conflict with 453: # autoconf'ed ones should be passed by X11_FLAGS_TO_PASS for now. 454: # 455: X11_FLAGS_TO_PASS = \ 456: 'X11_EXTRA_CFLAGS=$(X11_EXTRA_CFLAGS)' \ 457: 'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)' 458: 459: # Flags to pass to stage2 and later makes. 460: 461: POSTSTAGE1_FLAGS_TO_PASS = \ 462: CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ 463: GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind" \ 464: LDFLAGS="$(BOOT_LDFLAGS)" \ 465: "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" 466: 467: # Flags to pass down to makes which are built with the target environment. 468: # The double $ decreases the length of the command line; those variables 469: # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The 470: # COMPILER_ prefixed variables are not passed down so we expand them here. 471: EXTRA_TARGET_FLAGS = \ 472: 'AR=$$(AR_FOR_TARGET)' \ 473: 'AS=$(COMPILER_AS_FOR_TARGET)' \ 474: 'CC=$$(CC_FOR_TARGET)' \ 475: 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ 476: 'CXX=$$(CXX_FOR_TARGET)' \ 477: 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ 478: 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ 479: 'LD=$(COMPILER_LD_FOR_TARGET)' \ 480: 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \ 481: 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \ 482: 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \ 483: 'NM=$(COMPILER_NM_FOR_TARGET)' \ 484: 'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \ 485: 'RANLIB=$$(RANLIB_FOR_TARGET)' \ 486: 'WINDRES=$$(WINDRES_FOR_TARGET)' \ 487: 'WINDMC=$$(WINDMC_FOR_TARGET)' 488: 489: TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) 490: 491: # Flags to pass down to gcc. gcc builds a library, libgcc.a, so it 492: # unfortunately needs the native compiler and the target ar and 493: # ranlib. 494: # If any variables are added here, they must be added to do-*, below. 495: # The BUILD_* variables are a special case, which are used for the gcc 496: # cross-building scheme. 497: EXTRA_GCC_FLAGS = \ 498: "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \ 499: "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ 500: "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ 501: "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ 502: "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ 503: "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" 504: 505: GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) 506: 507: .PHONY: configure-host 508: configure-host: [+ 509: FOR host_modules +] \ 510: maybe-configure-[+module+][+ 511: ENDFOR host_modules +] 512: .PHONY: configure-target 513: configure-target: [+ 514: FOR target_modules +] \ 515: maybe-configure-target-[+module+][+ 516: ENDFOR target_modules +] 517: 518: # The target built for a native non-bootstrap build. 519: .PHONY: all 520: all: 521: @if gcc-bootstrap 522: [ -f stage_final ] || echo stage3 > stage_final 523: @r=`${PWD_COMMAND}`; export r; \ 524: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 525: $(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble 526: @endif gcc-bootstrap 527: @: $(MAKE); $(unstage) 528: @r=`${PWD_COMMAND}`; export r; \ 529: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 530: if [ -f stage_last ]; then \ 531: $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \ 532: else \ 533: $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \ 534: fi 535: 536: .PHONY: all-build 537: [+ FOR build_modules +] 538: all-build: maybe-all-build-[+module+][+ ENDFOR build_modules +] 539: 540: .PHONY: all-host 541: [+ FOR host_modules +][+ IF bootstrap +] 542: @if [+module+]-no-bootstrap[+ ENDIF bootstrap +] 543: all-host: maybe-all-[+module+][+ IF bootstrap +] 544: @endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR host_modules +] 545: 546: .PHONY: all-target 547: [+ FOR target_modules +][+ IF bootstrap +] 548: @if target-[+module+]-no-bootstrap[+ ENDIF bootstrap +] 549: all-target: maybe-all-target-[+module+][+ IF bootstrap +] 550: @endif target-[+module+]-no-bootstrap[+ 551: ENDIF bootstrap +][+ ENDFOR target_modules +] 552: 553: # Do a target for all the subdirectories. A ``make do-X'' will do a 554: # ``make X'' in all subdirectories (because, in general, there is a 555: # dependency (below) of X upon do-X, a ``make X'' will also do this, 556: # but it may do additional work as well). 557: [+ FOR recursive_targets +] 558: .PHONY: do-[+make_target+] 559: do-[+make_target+]: 560: @: $(MAKE); $(unstage) 561: @r=`${PWD_COMMAND}`; export r; \ 562: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 563: $(MAKE) $(RECURSE_FLAGS_TO_PASS) [+make_target+]-host \ 564: [+make_target+]-target 565: 566: 567: .PHONY: [+make_target+]-host 568: [+ FOR host_modules +] 569: [+make_target+]-host: maybe-[+make_target+]-[+module+][+ ENDFOR host_modules +] 570: 571: .PHONY: [+make_target+]-target 572: [+ FOR target_modules +] 573: [+make_target+]-target: maybe-[+make_target+]-target-[+module+][+ ENDFOR target_modules +] 574: [+ ENDFOR recursive_targets +] 575: 576: # Here are the targets which correspond to the do-X targets. 577: 578: .PHONY: info installcheck dvi pdf html 579: .PHONY: install-info install-pdf install-html 580: .PHONY: clean distclean mostlyclean maintainer-clean realclean 581: .PHONY: local-clean local-distclean local-maintainer-clean 582: info: do-info 583: installcheck: do-installcheck 584: dvi: do-dvi 585: pdf: do-pdf 586: html: do-html 587: 588: # Make sure makeinfo is built before we do a `make info', if we're 589: # in fact building texinfo. 590: do-info: maybe-all-texinfo 591: 592: install-info: do-install-info dir.info 593: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 594: if [ -f dir.info ] ; then \ 595: $(INSTALL_DATA) dir.info $(DESTDIR)$(infodir)/dir.info ; \ 596: else true ; fi 597: 598: install-pdf: do-install-pdf 599: 600: install-html: do-install-html 601: 602: local-clean: 603: -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E *.log 604: 605: local-distclean: 606: -rm -f Makefile config.status config.cache mh-frag mt-frag 607: -rm -f maybedep.tmp serdep.tmp 608: -if [ "$(TARGET_SUBDIR)" != "." ]; then \ 609: rm -rf $(TARGET_SUBDIR); \ 610: else true; fi 611: -rm -rf $(BUILD_SUBDIR) 612: -if [ "$(HOST_SUBDIR)" != "." ]; then \ 613: rm -rf $(HOST_SUBDIR); \ 614: else true; fi 615: -rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile 616: -rm -f texinfo/doc/Makefile texinfo/po/POTFILES 617: -rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null 618: -rmdir texinfo/makeinfo texinfo/po texinfo/util 2>/dev/null 619: -rmdir fastjar gcc libiberty texinfo zlib 2>/dev/null 620: 621: local-maintainer-clean: 622: @echo "This command is intended for maintainers to use;" 623: @echo "it deletes files that may require special tools to rebuild." 624: 625: clean: do-clean local-clean 626: mostlyclean: do-mostlyclean local-clean 627: distclean: do-distclean local-clean local-distclean 628: maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean 629: maintainer-clean: local-distclean 630: realclean: maintainer-clean 631: 632: # Check target. 633: 634: .PHONY: check do-check 635: check: do-check 636: 637: # Only include modules actually being configured and built. 638: .PHONY: check-host 639: check-host: [+ 640: FOR host_modules +] \ 641: maybe-check-[+module+][+ 642: ENDFOR host_modules +] 643: 644: .PHONY: check-target 645: check-target: [+ 646: FOR target_modules +] \ 647: maybe-check-target-[+module+][+ 648: ENDFOR target_modules +] 649: 650: do-check: 651: @: $(MAKE); $(unstage) 652: @r=`${PWD_COMMAND}`; export r; \ 653: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 654: $(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target 655: 656: # Automated reporting of test results. 657: 658: warning.log: build.log 659: $(srcdir)/contrib/warn_summary build.log > $@ 660: 661: mail-report.log: 662: if test x'$(BOOT_CFLAGS)' != x''; then \ 663: BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \ 664: fi; \ 665: $(srcdir)/contrib/test_summary -t >$@ 666: chmod +x $@ 667: echo If you really want to send e-mail, run ./$@ now 668: 669: mail-report-with-warnings.log: warning.log 670: if test x'$(BOOT_CFLAGS)' != x''; then \ 671: BOOT_CFLAGS='$(BOOT_CFLAGS)'; export BOOT_CFLAGS; \ 672: fi; \ 673: $(srcdir)/contrib/test_summary -t -i warning.log >$@ 674: chmod +x $@ 675: echo If you really want to send e-mail, run ./$@ now 676: 677: # Installation targets. 678: 679: .PHONY: install uninstall 680: install: 681: @: $(MAKE); $(unstage) 682: @r=`${PWD_COMMAND}`; export r; \ 683: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 684: $(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target 685: 686: .PHONY: install-host-nogcc 687: install-host-nogcc: [+ 688: FOR host_modules +][+ IF (not (= (get "module") "gcc")) +] \ 689: maybe-install-[+module+][+ ENDIF +][+ 690: ENDFOR host_modules +] 691: 692: .PHONY: install-host 693: install-host: [+ 694: FOR host_modules +] \ 695: maybe-install-[+module+][+ 696: ENDFOR host_modules +] 697: 698: .PHONY: install-target 699: install-target: [+ 700: FOR target_modules +] \ 701: maybe-install-target-[+module+][+ 702: ENDFOR target_modules +] 703: 704: uninstall: 705: @echo "the uninstall target is not supported in this tree" 706: 707: .PHONY: install.all 708: install.all: install-no-fixedincludes 709: @if [ -f ./gcc/Makefile ] ; then \ 710: r=`${PWD_COMMAND}` ; export r ; \ 711: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 712: $(HOST_EXPORTS) \ 713: (cd ./gcc && \ 714: $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \ 715: else \ 716: true ; \ 717: fi 718: 719: # install-no-fixedincludes is used because Cygnus can not distribute 720: # the fixed header files. 721: .PHONY: install-no-fixedincludes 722: install-no-fixedincludes: installdirs install-host-nogcc \ 723: install-target gcc-no-fixedincludes 724: 725: ### other supporting targets 726: 727: MAKEDIRS= \ 728: $(DESTDIR)$(prefix) \ 729: $(DESTDIR)$(exec_prefix) 730: .PHONY: installdirs 731: installdirs: mkinstalldirs 732: $(SHELL) $(srcdir)/mkinstalldirs $(MAKEDIRS) 733: 734: dir.info: do-install-info 735: if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \ 736: $(srcdir)/texinfo/gen-info-dir $(DESTDIR)$(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \ 737: mv -f dir.info.new dir.info ; \ 738: else true ; \ 739: fi 740: 741: dist: 742: @echo "Building a full distribution of this tree isn't done" 743: @echo "via 'make dist'. Check out the etc/ subdirectory" 744: 745: etags tags: TAGS 746: 747: # Right now this just builds TAGS in each subdirectory. emacs19 has the 748: # ability to use several tags files at once, so there is probably no need 749: # to combine them into one big TAGS file (like CVS 1.3 does). We could 750: # (if we felt like it) have this Makefile write a piece of elisp which 751: # the user could load to tell emacs19 where all the TAGS files we just 752: # built are. 753: TAGS: do-TAGS 754: 755: # ------------------------------------ 756: # Macros for configure and all targets 757: # ------------------------------------ 758: 759: [+ DEFINE configure +] 760: .PHONY: configure-[+prefix+][+module+] maybe-configure-[+prefix+][+module+] 761: maybe-configure-[+prefix+][+module+]: 762: @if gcc-bootstrap 763: configure-[+prefix+][+module+]: stage_current 764: @endif gcc-bootstrap 765: @if [+prefix+][+module+] 766: maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+] 767: configure-[+prefix+][+module+]: [+ IF bootstrap +][+ ELSE +] 768: @: $(MAKE); $(unstage)[+ ENDIF bootstrap +] 769: @r=`${PWD_COMMAND}`; export r; \ 770: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ 771: [+ IF check_multilibs 772: +]echo "Checking multilib configuration for [+module+]..."; \ 773: $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \ 774: $(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \ 775: if test -r [+subdir+]/[+module+]/multilib.out; then \ 776: <