Annotation of gcc/Makefile.in, revision 1.1.1.2

1.1       root        1: # Makefile for GNU C compiler.
                      2: #   Copyright (C) 1987, 1988, 1990, 1991 Free Software Foundation, Inc.
                      3: 
                      4: #This file is part of GNU CC.
                      5: 
                      6: #GNU CC is free software; you can redistribute it and/or modify
                      7: #it under the terms of the GNU General Public License as published by
                      8: #the Free Software Foundation; either version 2, or (at your option)
                      9: #any later version.
                     10: 
                     11: #GNU CC is distributed in the hope that it will be useful,
                     12: #but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13: #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14: #GNU General Public License for more details.
                     15: 
                     16: #You should have received a copy of the GNU General Public License
                     17: #along with GNU CC; see the file COPYING.  If not, write to
                     18: #the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
                     19: 
                     20: # The targets for external use include:
                     21: # all, doc, proto, install, install-cross, install-cross-rest,
1.1.1.2 ! root       22: # uninstall, TAGS, mostlyclean, clean, distclean, realclean,
1.1       root       23: # stage1, stage2, stage3, stage4.
                     24: 
1.1.1.2 ! root       25: # Suppress smart makes who think they know how to automake Yacc files
        !            26: .y.c:
        !            27: 
1.1       root       28: .NOEXPORT: # This tells GNU Make version 3
                     29:           # not to put all the variables in the environment.
                     30: 
                     31: # Variables that exist for you to override.
                     32: # See below for how to change them for certain systems.
                     33: 
                     34: # Selection of languages to be made.
                     35: LANGUAGES = c c++ objective-c proto
                     36: 
                     37: ALLOCA =
                     38: ALLOCA_FLAGS = -S -Demacs
                     39: ALLOCA_FINISH = as -o alloca.o alloca.s
                     40: 
                     41: # Various ways of specifying flags for compilations:  
                     42: # CFLAGS is for the user to override to, e.g., do a bootstrap with -O2.
                     43: # BOOT_CFLAGS is the value of CFLAGS to pass
                     44: # to the stage2 and stage3 compilations
                     45: # XCFLAGS is used for most compilations but not when using the GCC just built.
                     46: XCFLAGS =
                     47: CFLAGS = -g
                     48: BOOT_CFLAGS = -O $(CFLAGS)
                     49: # These exists to be overridden by the x-* and t-* files, respectively.
                     50: X_CFLAGS =
                     51: T_CFLAGS =
                     52: 
                     53: X_CPPFLAGS =
                     54: T_CPPFLAGS =
                     55: 
                     56: CC = cc
                     57: BISON = bison
                     58: BISONFLAGS =
                     59: AR = ar
                     60: OLDAR_FLAGS = qc
                     61: AR_FLAGS = rc
                     62: SHELL = /bin/sh
                     63: # on sysV, define this as cp.
                     64: INSTALL = install -c
                     65: # These permit overriding just for certain files.
                     66: INSTALL_PROGRAM = $(INSTALL)
                     67: INSTALL_DATA = $(INSTALL)
                     68: SYMLINK = ln -s
                     69: 
                     70: # Define this as & to perform parallel make on a Sequent.
                     71: # Note that this has some bugs, and it seems currently necessary 
                     72: # to compile all the gen* files first by hand to avoid erroneous results.
                     73: P =
                     74: 
                     75: # How to invoke ranlib.
                     76: RANLIB = ranlib
                     77: # Test to use to see whether ranlib exists on the system.
                     78: RANLIB_TEST = [ -f /usr/bin/ranlib -o -f /bin/ranlib ]
                     79: 
                     80: # Compiler to use for compiling libgcc1.a.
                     81: # OLDCC should not be the GNU C compiler,
                     82: # since that would compile typical libgcc1.a functions such as mulsi3
                     83: # into infinite recursions.
                     84: OLDCC = cc
                     85: 
                     86: # CFLAGS for use with OLDCC, for compiling libgcc1.a.
                     87: # NOTE: -O does not work on some Unix systems!
                     88: CCLIBFLAGS = -O
                     89: 
1.1.1.2 ! root       90: # Version of ar to use when compiling libgcc1.a.
1.1       root       91: OLDAR = ar
                     92: 
                     93: # The GCC to use for compiling libgcc2.a.  Usually the one we just built.
                     94: # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
                     95: GCC_FOR_TARGET = ./gcc
                     96: 
                     97: # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
                     98: # It omits XCFLAGS, and specifies -B./.
                     99: GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) -B./
                    100: 
                    101: # Special flags for compiling enquire.
                    102: # We disable optimization to make floating point more reliable.
                    103: ENQUIRE_CFLAGS = -DNO_SC -DNO_MEM -DNO_STDDEF -O0
                    104: ENQUIRE_LDFLAGS = $(LDFLAGS)
                    105: 
                    106: # Tools to use when building a cross-compiler.
                    107: # These are used because `configure' appends `cross-make'
                    108: # to the makefile when making a cross-compiler.
                    109: 
                    110: TARGET_TOOLPREFIX = $(tooldir)/bin/
                    111: AR_FOR_TARGET = $(TARGET_TOOLPREFIX)ar
                    112: AR_FOR_TARGET_FLAGS = rc
                    113: RANLIB_FOR_TARGET = $(TARGET_TOOLPREFIX)ranlib
                    114: RANLIB_TEST_FOR_TARGET = [ -f $(TARGET_TOOLPREFIX)ranlib ]
                    115: CROSS_TOOLS =
                    116: 
                    117: target= ... `configure' substitutes actual target name here.
                    118: xmake_file= ... `configure' substitutes actual x- file name here.
                    119: tmake_file= ... `configure' substitutes actual t- file name here.
                    120: version=`awk '{printf "%s", substr ($$4, 2, length ($$4) - 3); }' $(srcdir)/version.c`
                    121: 
                    122: # Directory where sources are, from where we are.
                    123: srcdir = .
                    124: # Common prefix for installation directories.
                    125: # NOTE: This directory must exist when you start installation.
                    126: prefix = /usr/local
1.1.1.2 ! root      127: # Directory in which to put host dependent programs and libraries
        !           128: exec_prefix = $(prefix)
1.1       root      129: # Directory in which to put the executable for the command `gcc'
1.1.1.2 ! root      130: bindir = $(exec_prefix)/bin
1.1       root      131: # Directory in which to put the directories used by the compiler.
1.1.1.2 ! root      132: libdir = $(exec_prefix)/lib
1.1       root      133: # Directory in which the compiler finds executables, libraries, etc.
1.1.1.2 ! root      134: libsubdir = $(libdir)/gcc-lib/$(target)/$(version)
1.1       root      135: # Extension (if any) to put in installed man-page filename.
                    136: manext = .1
                    137: # Directory in which to put man pages.
                    138: mandir = $(prefix)/man/man1
                    139: # Directory in which to find other cross-compilation tools and headers.
                    140: # Used in install-cross.
                    141: tooldir = $(prefix)/$(target)
                    142: 
                    143: # Additional system libraries to link with.
                    144: CLIB=
                    145: 
                    146: # Change this to a null string if obstacks are installed in the
                    147: # system library.
                    148: OBSTACK=obstack.o
                    149: 
                    150: # Specify the rule for actually making libgcc1.a.
1.1.1.2 ! root      151: # The value may be empty; that means to do absolutely nothing
        !           152: # with or for libgcc1.a.
1.1       root      153: LIBGCC1 = libgcc1.a
                    154: 
                    155: # Specify the rule for actually making libgcc2.a.
                    156: LIBGCC2 = libgcc2.a
                    157: 
                    158: # Options to use when compiling libgcc2.a.
                    159: # -g1 causes output of debug info only for file-scope entities.
                    160: # we use this here because that should be enough, and also
                    161: # so that -g1 will be tested.
                    162: LIBGCC2_CFLAGS = -O2 $(GCC_CFLAGS) -g1
                    163: 
                    164: # List of extra executables that should be compiled for this target machine
                    165: # that are used for compiling from source code to object code.
                    166: # The rules for compiling them should be in the t-* file for the machine.
                    167: EXTRA_PASSES =
                    168: 
1.1.1.2 ! root      169: # Like EXTRA_PASSES, but these are used when linking.
        !           170: EXTRA_PROGRAMS = 
        !           171: 
        !           172: # List of extra object files that should be compiled for this target machine.
1.1       root      173: # The rules for compiling them should be in the t-* file for the machine.
                    174: EXTRA_PARTS =
                    175: 
                    176: # List of extra object files that should be compiled and linked with
                    177: # compiler proper (cc1, cc1obj, cc1plus).
                    178: EXTRA_OBJS =
                    179: 
                    180: # List of extra C and assembler files to add to libgcc1.a.
                    181: # Assembler files should have names ending in `.asm'.
                    182: LIB1FUNCS_EXTRA = 
                    183: 
                    184: # List of extra C and assembler files to add to libgcc2.a.
                    185: # Assembler files should have names ending in `.asm'.
                    186: LIB2FUNCS_EXTRA = 
                    187: 
                    188: # Program to convert libraries.
                    189: LIBCONVERT = 
                    190: 
                    191: # Control whether header files are installed.
                    192: # We will change this to install-fixincludes eventually.
                    193: # It would be useful for people to try this now.
                    194: INSTALL_HEADERS=install-headers
                    195: 
                    196: # Select which version of fixincludes to use (I.E. regular versus SVR4)
                    197: FIXINCLUDES=fixincludes
                    198: 
                    199: # List of things which should already be built whenever we try to use gcc
                    200: # to compile anything (without linking).
                    201: GCC_PASSES=gcc cc1 cpp $(EXTRA_PASSES)
                    202: 
                    203: # List of things which should already be built whenever we try to use gcc
                    204: # to link anything.
1.1.1.2 ! root      205: GCC_PARTS=$(GCC_PASSES) libgcc.a $(EXTRA_PROGRAMS) $(EXTRA_PARTS)
1.1       root      206: 
                    207: # Change this to empty to prevent installing limits.h.
1.1.1.2 ! root      208: # Actually, this currently has no effect,
1.1       root      209: # and if that causes no problems, it can be deleted.
1.1.1.2 ! root      210: # Otherwise, it must be replaced so as to control
1.1       root      211: # the actions of install-limits-h.
                    212: LIMITS_H = limits.h
                    213: 
                    214: # Directory to link to, when using the target `maketest'.
                    215: DIR = ../gcc
                    216: 
                    217: # Flags to use when cross-building GCC.
                    218: # Prefix to apply to names of object files when using them
                    219: # to run on the machine we are compiling on.
                    220: HOST_PREFIX=
                    221: # Prefix to apply to names of object files when compiling them
                    222: # to run on the machine we are compiling on.
                    223: # The default for this variable is chosen to keep these rules 
                    224: # out of the way of the other rules for compiling the same source files.
                    225: HOST_PREFIX_1=loser-
                    226: HOST_CC=$(CC)
                    227: HOST_CFLAGS=$(ALL_CFLAGS)
                    228: HOST_CLIB=$(CLIB)
                    229: HOST_LDFLAGS=$(LDFLAGS)
                    230: HOST_CPPFLAGS=$(ALL_CPPFLAGS)
                    231: HOST_ALLOCA=$(ALLOCA)
                    232: HOST_MALLOC=$(MALLOC)
                    233: HOST_OBSTACK=$(OBSTACK)
                    234: 
                    235: # Choose the real default target.
                    236: ALL=all.internal
                    237: 
                    238: # Choose the real install target.
                    239: INSTALL_TARGET=install-native
                    240: 
                    241: # End of variables for you to override.
                    242: 
                    243: # Definition of `all' is here so that new rules inserted by sed
                    244: # do not specify the default target.
                    245: # The real definition is under `all.internal' (for native compilers)
                    246: # or `all.cross' (for cross compilers).
1.1.1.2 ! root      247: all: all.indirect
1.1       root      248: 
                    249: # sed inserts variable overrides after the following line.
                    250: ####
                    251: 
                    252: # Now figure out from those variables how to compile and link.
                    253: 
1.1.1.2 ! root      254: all.indirect: $(ALL)
        !           255: 
1.1       root      256: INTERNAL_CFLAGS = $(CROSS)
                    257: 
                    258: # This is the variable actually used when we compile.
                    259: ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS)
                    260: 
                    261: # Likewise.
                    262: ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
                    263: 
                    264: # Even if ALLOCA is set, don't use it if compiling with GCC.
1.1.1.2 ! root      265: USE_ALLOCA= ` case "${CC}" in "${OLDCC}") echo ${ALLOCA} ;; esac `
        !           266: USE_HOST_ALLOCA= ` case "${HOST_CC}"@"${HOST_ALLOCA}" in "${OLDCC}"@?*) echo ${HOST_PREFIX}${HOST_ALLOCA} ;; esac `
        !           267: USE_HOST_MALLOC= ` case "${HOST_MALLOC}" in ?*) echo ${HOST_PREFIX}${HOST_MALLOC} ;; esac `
        !           268: USE_HOST_OBSTACK= ` case "${HOST_OBSTACK}" in ?*) echo ${HOST_PREFIX}${HOST_OBSTACK} ;; esac `
1.1       root      269: 
                    270: # Dependency on obstack, alloca, malloc or whatever library facilities
                    271: # are not installed in the system libraries.
                    272: # We don't use USE_ALLOCA because backquote expansion doesn't work in deps.
                    273: LIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)
                    274: 
                    275: # Likewise, for use in the tools that must run on this machine
                    276: # even if we are cross-building GCC.
                    277: # We don't use USE_ALLOCA because backquote expansion doesn't work in deps.
                    278: HOST_LIBDEPS= $(HOST_PREFIX)$(HOST_OBSTACK) $(HOST_PREFIX)$(HOST_ALLOCA) $(HOST_PREFIX)$(HOST_MALLOC)
                    279: 
                    280: # How to link with both our special library facilities
                    281: # and the system's installed libraries.
                    282: LIBS = $(OBSTACK) $(USE_ALLOCA) $(MALLOC) $(CLIB)
                    283: 
                    284: # Likewise, for use in the tools that must run on this machine
                    285: # even if we are cross-building GCC.
                    286: HOST_LIBS = $(USE_HOST_OBSTACK) $(USE_HOST_ALLOCA) $(USE_HOST_MALLOC)  \
                    287:            $(HOST_CLIB)
                    288: 
                    289: HOST_RTL = $(HOST_PREFIX)rtl.o
                    290: HOST_RTLANAL = $(HOST_PREFIX)rtlanal.o
                    291: 
                    292: # Specify the directories to be searched for header files.
                    293: # Both . and srcdir are used, in that order,
                    294: # so that tm.h and config.h will be found in the compilation
                    295: # subdirectory rather than in the source directory.
                    296: INCLUDES = -I. -I$(srcdir) -I$(srcdir)/config
                    297: SUBDIR_INCLUDES = -I.. -I../$(srcdir) -I../$(srcdir)/config
                    298: 
                    299: # Always use -I$(srcdir)/config when compiling.
                    300: .c.o:
                    301:        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
                    302: 
                    303: # This tells GNU make version 3 not to export all the variables
                    304: # defined in this file into the environment.
                    305: .NOEXPORT:
                    306: 
                    307: # Lists of files for various purposes.
                    308: 
                    309: # A list of all the language-specific executables.
                    310: COMPILERS = cc1 cc1plus cc1obj
                    311: 
                    312: # Language-specific object files for C.
                    313: C_OBJS = c-parse.o c-lang.o \
                    314:    c-lex.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o
                    315: 
                    316: # Language-specific object files for Objectionable C.
                    317: OBJC_OBJS = objc-parse.o objc-actions.o \
                    318:    c-lex.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o
                    319: 
                    320: # Language-specific object files for C++.
                    321: CPLUS_OBJS = cp-parse.o cp-decl.o cp-decl2.o \
                    322:    cp-typeck.o cp-type2.o cp-tree.o cp-ptree.o \
                    323:    cp-cvt.o cp-search.o cp-lex.o cp-gc.o cp-call.o \
                    324:    cp-class.o cp-init.o cp-method.o cp-except.o \
                    325:    cp-expr.o cp-pt.o cp-edsel.o cp-xref.o \
                    326:    $(CPLUS_INPUT) cp-spew.o c-common.o
                    327: 
                    328: # Language-independent object files.
                    329: OBJS = toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o \
                    330:  function.o stmt.o expr.o calls.o expmed.o explow.o optabs.o varasm.o \
1.1.1.2 ! root      331:  rtl.o print-rtl.o rtlanal.o emit-rtl.o \
        !           332:  dbxout.o sdbout.o dwarfout.o xcoffout.o \
1.1       root      333:  integrate.o jump.o cse.o loop.o unroll.o flow.o stupid.o combine.o \
                    334:  regclass.o local-alloc.o global-alloc.o reload.o reload1.o caller-save.o \
                    335:  insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o \
                    336:  insn-recog.o insn-extract.o insn-output.o insn-emit.o \
1.1.1.2 ! root      337:  insn-attrtab.o aux-output.o getpwd.o $(EXTRA_OBJS)
1.1       root      338: 
                    339: # GEN files are listed separately, so they can be built before doing parallel
                    340: #  makes for cc1 or cc1plus.  Otherwise sequent parallel make attempts to load
                    341: #  them before rtl.o is compiled.
                    342: GEN= genemit genoutput genrecog genextract genflags gencodes genconfig genpeep
                    343: 
                    344: # Files to be copied away after each stage in building.
                    345: STAGESTUFF = *.o insn-flags.h insn-config.h insn-codes.h \
                    346:  insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
                    347:  insn-attr.h insn-attrtab.c \
                    348:  stamp-flags stamp-config stamp-codes \
                    349:  stamp-output stamp-recog stamp-emit stamp-extract stamp-peep \
                    350:  stamp-attr stamp-attrtab \
                    351:  genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \
                    352:  genattrtab genattr \
                    353:  $(GCC_PASSES) $(EXTRA_PARTS) gcc-cross cccp cc1plus cc1obj enquire \
                    354:  protoize unprotoize specs collect2
                    355: 
                    356: # Members of libgcc1.a.
                    357: LIB1FUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
                    358:    _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 \
                    359:    _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \
                    360:    _fixdfsi _fixsfsi _floatsidf _floatsisf _truncdfsf2 _extendsfdf2 \
                    361:    _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \
                    362:    _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
                    363:    _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
                    364: 
                    365: # Library members defined in libgcc2.c.
                    366: LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
                    367:      _lshrdi3 _lshldi3 _ashldi3 _ashrdi3  \
                    368:     _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \
                    369:     _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \
                    370:     _varargs _eprintf _builtin_new _builtin_New _builtin_del \
                    371:     _bb _shtab _clear_cache _trampoline __main _exit
                    372: 
                    373: # Header files that are made available under the same name
                    374: # to programs compiled with gcc.
                    375: USER_H = assert.h va-hp800.h va-i860.h va-mips.h va-pyr.h va-sparc.h \
                    376:     va-spur.h va-m88k.h proto.h
                    377: 
                    378: # All the header files that are installed for users from GCC itself.
                    379: INSTALLED_H = float.h stddef.h stdarg.h varargs.h $(USER_H) limits.h
                    380: 
                    381: # The files that "belong" in CONFIG_H are deliberately omitted
                    382: # because having them there would not be useful in actual practice.
                    383: # All they would do is cause complete recompilation every time
                    384: # one of the machine description files is edited.
                    385: # That may or may not be what one wants to do.
                    386: # If it is, rm *.o is an easy way to do it.
                    387: # CONFIG_H = config.h tm.h
                    388: CONFIG_H =
                    389: RTL_H = rtl.h rtl.def machmode.h machmode.def
                    390: TREE_H = tree.h real.h tree.def machmode.h machmode.def
                    391: CPLUS_TREE_H = $(TREE_H) cp-tree.h cp-tree.def
                    392: 
                    393: # Avoid a lot of time thinking about remaking Makefile.in and *.def.
                    394: .SUFFIXES: .in .def
                    395: 
                    396: Makefile: $(srcdir)/Makefile.in $(srcdir)/configure \
                    397:    $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file)
                    398:        sh config.status
                    399: 
                    400: all.internal: start.encap rest.encap
                    401: # This is what to compile if making a cross-compiler.
                    402: all.cross: native gcc-cross
                    403: # This is what must be made before installing GCC and converting libraries.
                    404: start.encap: native gcc $(LIBGCC1_TARGET)
                    405: # Use this to make a GCC that will be used only to recompile GCC.
                    406: for-bootstrap: start.encap libgcc.a
                    407: # These can't be made, with COFF encapsulation, until after GCC can run.
1.1.1.2 ! root      408: rest.encap: libgcc.a float.h  $(EXTRA_PARTS)
1.1       root      409: # This is what is made with the host's compiler
                    410: # whether making a cross compiler or not.
1.1.1.2 ! root      411: native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PROGRAMS)
1.1       root      412: 
                    413: # Define the names for selecting languages in LANGUAGES.
                    414: C c: cc1
                    415: C++ c++: cc1plus
                    416: OBJC objc: cc1obj
                    417: OBJECTIVE-C objective-c: cc1obj
                    418: PROTO: proto
                    419: 
1.1.1.2 ! root      420: # Really, really stupid make features, such as SUN's KEEP_STATE, may force
        !           421: # a target to build even if it is up-to-date.  So we must verify that
        !           422: # config.status does not exist before failing.
1.1       root      423: config.status:
1.1.1.2 ! root      424:        @if [ ! -f config.status ] ; then \
        !           425:          echo You must configure gcc.  Look at the INSTALL file for details.; \
        !           426:          false; \
        !           427:        else \
        !           428:          true; \
        !           429:        fi
1.1       root      430: 
                    431: compilations: ${OBJS}
                    432: 
                    433: gcc: gcc.o version.o $(LIBDEPS)
                    434:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o gccnew gcc.o version.o $(LIBS)
                    435: # Go via `gccnew' to avoid `file busy' if $(CC) is `gcc'.
                    436:        mv -f gccnew gcc
                    437: # Dump a specs file to make -B./ read these specs over installed ones
                    438:        ./gcc -dumpspecs > specs
                    439: 
                    440: # We do want to create an executable named `gcc', so we can use it to
                    441: # compile libgcc2.a.
                    442: # Also create gcc-cross, so that install-common will install properly.
                    443: gcc-cross: gcc
                    444:        cp gcc gcc-cross
                    445: 
                    446: cc1:$(P) $(C_OBJS) $(OBJS) $(LIBDEPS)
                    447:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1 $(C_OBJS) $(OBJS) $(LIBS)
                    448: 
                    449: cc1plus:$(P) $(CPLUS_OBJS) $(OBJS) $(LIBDEPS)
                    450:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1plus $(CPLUS_OBJS) $(OBJS) $(LIBS)
                    451: 
                    452: cc1obj:$(P) $(OBJC_OBJS) $(OBJS) $(LIBDEPS)
                    453:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1obj $(OBJC_OBJS) $(OBJS) $(LIBS)
                    454: 
                    455: float.h: enquire
                    456:        -./enquire -f > tmp-float.h
                    457:        mv tmp-float.h float.h
                    458: 
                    459: # Used to compile enquire with standard cc, but have forgotten why.
                    460: # Let's try with GCC.
                    461: enquire: enquire.o $(GCC_PARTS)
                    462:        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ENQUIRE_LDFLAGS) enquire.o -o $@
                    463: enquire.o: $(srcdir)/enquire.c $(GCC_PASSES)
                    464:        -cp $(srcdir)/enquire.c . > /dev/null 2>&1
                    465: # Breaking this line caused a problem with one version of GNU make.
                    466:        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(ENQUIRE_CFLAGS) -I. -c enquire.c
                    467: 
                    468: # Build libgcc.a.
                    469: # This is done in two parts because some functions, in libgcc1.c,
                    470: # must be compiled with something other than gcc,
                    471: # while the rest, in libgcc2.c, must be compiled with gcc.
                    472: # That means we can't do libgcc2.c until after gcc, cc1, etc.
                    473: 
                    474: # Use this as value of LIBGCC1 to cause conversion to GNU library format.
                    475: # LIBCONVERT should put its output in libgcc1.conv.
                    476: libgcc1.conv: libgcc1.a
                    477:        $(LIBCONVERT) libgcc1.a libgcc1.conv
                    478: 
                    479: # Use this as value of LIBGCC1 to inhibit use of libgcc1.c entirely.
                    480: # Make an empty file instead.
                    481: libgcc1.null: $(CROSS_TOOLS) $(GCC_PASSES)
                    482:        echo "__foo () {}" > dummy.c
                    483:        $(GCC_FOR_TARGET) $(GCC_CFLAGS) -c dummy.c
                    484:        $(OLDAR) $(OLDAR_FLAGS) libgcc1.null dummy.o
                    485:        rm -f dummy.o dummy.c
                    486: 
                    487: # Compile the library of arithmetic subroutines with the native compiler.
                    488: # Don't compile it with gcc!
                    489: # (That would cause most arithmetic functions to call themselves.)
                    490: libgcc1.a: libgcc1.c $(CONFIG_H) $(LIB1FUNCS_EXTRA) config.status
                    491:        -rm -f tmplibgcc1.a
                    492: # Actually build it in tmplibgcc1.a, then rename at end,
                    493: # so that libgcc1.a itself remains nonexistent if compilation is aborted.
                    494: # -e causes any failing command to make this rule fail.
                    495: # -e doesn't work in certain shells, so we test $$? as well.
                    496:        set -e; \
                    497:        for name in $(LIB1FUNCS); \
                    498:        do \
                    499:          echo $${name}; \
                    500:          rm -f $${name}.o; \
                    501:          $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c -DL$${name} $(srcdir)/libgcc1.c; \
                    502:          if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    503:          mv libgcc1.o $${name}.o; \
                    504:          $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}.o; \
                    505:          rm -f $${name}.o; \
                    506:        done
                    507: # Some shells crash when a loop has no items.
                    508: # So make sure there is always at least one--`..'.
                    509: # Then ignore it.
                    510: # We don't use -e here because there are if statements
                    511: # that should not make the command give up when the if condition is false.
                    512: # Instead, we test for failure after each command where it matters.
1.1.1.2 ! root      513:        -for file in .. $(LIB1FUNCS_EXTRA); \
1.1       root      514:        do \
                    515:          if [ x$${file} != x.. ]; then \
                    516:            name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
                    517:            echo $${name}; \
                    518:            if [ $${name}.asm = $${file} ]; then \
                    519:              cp $${file} $${name}.s; file=$${name}.s; \
                    520:              if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    521:            else true; fi; \
                    522:            $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c $${file}; \
                    523:            if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    524:            $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}.o; \
                    525:            if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    526:            rm -f $${name}.[so]; \
                    527:          else true; \
                    528:          fi; \
                    529:        done
                    530:        mv tmplibgcc1.a libgcc1.a
                    531: 
                    532: # Compiling libgcc2.a requires making sure that cc1, etc. have been compiled.
                    533: # But recompiling cc1 should not force recompilation of libgcc2.a.
                    534: # If you want to force recompilation, delete libgcc2.a.
                    535: # Depend on install-cross-tools to make sure we set up properly 
                    536: # to run the assembler before we try compiling anything.
                    537: # install-cross-tools does nothing if not cross compiling.
                    538: libgcc2.ready: $(GCC_PASSES) $(CROSS_TOOLS)
                    539:        -if [ -f libgcc2.ready ] ; then \
                    540:                true; \
                    541:        else \
                    542:                touch libgcc2.ready; \
                    543:        fi
                    544: 
                    545: libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
                    546:    longlong.h gbl-ctors.h config.status
                    547: # Actually build it in tmplibgcc2.a, then rename at end,
                    548: # so that libgcc2.a itself remains nonexistent if compilation is aborted.
                    549:        -rm -f tmplibgcc2.a
                    550: # -e causes any failing command to make this rule fail.
                    551: # -e doesn't work in certain shells, so we test $$? as well.
                    552:        set -e; \
                    553:        for name in $(LIB2FUNCS); \
                    554:        do \
                    555:          echo $${name}; \
1.1.1.2 ! root      556:          $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
1.1       root      557:              $(srcdir)/libgcc2.c -o $${name}.o; \
                    558:          if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    559:          $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
                    560:          rm -f $${name}.o; \
                    561:        done
                    562: # Some shells crash when a loop has no items.
                    563: # So make sure there is always at least one--`..'.
                    564: # Then ignore it.
                    565: # We don't use -e here because there are if statements
                    566: # that should not make the command give up when the if condition is false.
                    567: # Instead, we test for failure after each command where it matters.
1.1.1.2 ! root      568:        -for file in .. $(LIB2FUNCS_EXTRA); \
1.1       root      569:        do \
                    570:          if [ x$${file} != x.. ]; then \
                    571:            name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
                    572:            echo $${name}; \
                    573:            if [ $${name}.asm = $${file} ]; then \
                    574:              cp $${file} $${name}.s; file=$${name}.s; \
                    575:              if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    576:            else true; fi; \
1.1.1.2 ! root      577:            $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \
1.1       root      578:            if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
                    579:            $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
                    580:            rm -f $${name}.[so]; \
                    581:          else true; \
                    582:          fi; \
                    583:        done
                    584:        mv tmplibgcc2.a libgcc2.a
                    585: # These lines were deleted from above the mv command
                    586: # because ranlibing libgcc.a itself should suffice.
                    587: #      -if [ x${HPUX_GAS} = x ] ; then \
                    588: #        if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc2.a; else true; fi \
                    589: #      else true; fi
                    590: 
                    591: # Combine the various libraries into a single library, libgcc.a.
                    592: libgcc.a: $(LIBGCC1) $(LIBGCC2)
                    593:        -rm -rf tmplibgcc.a libgcc.a tmpcopy
                    594:        mkdir tmpcopy
1.1.1.2 ! root      595:        -if [ x$(LIBGCC1) != x ];                       \
        !           596:        then (cd tmpcopy; $(AR) x ../$(LIBGCC1));       \
        !           597:        else true;                                      \
        !           598:        fi
1.1       root      599:        (cd tmpcopy; $(AR) x ../$(LIBGCC2))
                    600:        (cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *.o)
                    601:        rm -rf tmpcopy
                    602:        -if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc.a; else true; fi
                    603: # Actually build it in tmplibgcc.a, then rename at end,
                    604: # so that libgcc.a itself remains nonexistent if compilation is aborted.
                    605:        mv tmplibgcc.a libgcc.a
                    606: 
                    607: 
                    608: # Compile two additional files that are linked with every program
                    609: # linked using GCC on system V, for the sake of C++ constructors.
                    610: crtbegin.o:    crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
                    611:        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) -DCRT_BEGIN \
1.1.1.2 ! root      612:          -finhibit-size-directive -g0 -c $(srcdir)/crtstuff.c -o crtbegin.o
1.1       root      613: 
                    614: crtend.o:      crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
                    615:        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) -DCRT_END \
1.1.1.2 ! root      616:          -finhibit-size-directive -g0 -c $(srcdir)/crtstuff.c -o crtend.o
1.1       root      617: 
                    618: # Compiling object files from source files.
                    619: 
                    620: # Note that dependencies on obstack.h are not written
                    621: # because that file is not part of GCC.
                    622: # Dependencies on gvarargs.h are not written
                    623: # because all that file does, when not compiling with GCC,
                    624: # is include the system varargs.h.
                    625: 
                    626: # C language specific files.
                    627: 
                    628: c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h c-tree.h input.h flags.h
                    629:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/c-parse.c
                    630: $(srcdir)/c-parse.c $(srcdir)/c-parse.h: $(srcdir)/c-parse.y
                    631:        cd $(srcdir); $(BISON) $(BISONFLAGS) -d c-parse.y -o c-parse.c
                    632: 
                    633: c-decl.o : c-decl.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h flags.h
                    634: c-typeck.o : c-typeck.c $(CONFIG_H) $(TREE_H) c-tree.h flags.h
                    635: c-lang.o : c-lang.c $(CONFIG_H) $(TREE_H)
                    636: c-lex.o : c-lex.c $(CONFIG_H) $(TREE_H) c-lex.h c-tree.h c-parse.h \
                    637:     input.h flags.h
                    638: c-aux-info.o : c-aux-info.c  $(CONFIG_H) $(TREE_H) c-tree.h flags.h
                    639: c-convert.o : c-convert.c $(CONFIG_H) $(TREE_H) flags.h
                    640: 
                    641: # C++ language specific files.
                    642: 
                    643: cp-parse.o : $(srcdir)/cp-parse.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    644:        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
                    645:   `echo $(srcdir)/cp-parse.c | sed 's,^\./,,'`
                    646: 
                    647: $(srcdir)/cp-parse.c $(srcdir)/cp-parse.h : $(srcdir)/cp-parse.y
                    648:        @echo expect 30 shift/reduce conflicts and 14 reduce/reduce conflicts
                    649:        cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o cp-parse.c cp-parse.y
                    650: 
                    651: cp-spew.o : cp-spew.c $(CONFIG_H) $(CPLUS_TREE_H) \
                    652:    $(srcdir)/cp-parse.h flags.h
                    653: cp-lex.o : cp-lex.c $(CONFIG_H) $(CPLUS_TREE_H) \
                    654:    $(srcdir)/cp-parse.h $(srcdir)/cp-input.c flags.h
                    655: cp-decl.o : cp-decl.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h \
                    656:   cp-lex.h cp-decl.h stack.h
                    657: cp-decl2.o : cp-decl2.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h \
                    658:   cp-lex.h cp-decl.h
                    659: cp-type2.o : cp-type2.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    660: cp-typeck.o : cp-typeck.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    661: cp-class.o : cp-class.c $(CONFIG_H) $(CPLUS_TREE_H) stack.h \
                    662:     cp-class.h flags.h
                    663: cp-call.o : cp-call.c $(CONFIG_H) $(CPLUS_TREE_H) stack.h cp-class.h \
                    664:     flags.h
                    665: cp-init.o : cp-init.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    666: cp-method.o : cp-method.c $(CONFIG_H) $(CPLUS_TREE_H)
                    667: cp-cvt.o : cp-cvt.c $(CONFIG_H) $(CPLUS_TREE_H)
                    668: cp-search.o : cp-search.c $(CONFIG_H) $(CPLUS_TREE_H) stack.h flags.h
                    669: cp-tree.o : cp-tree.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    670: cp-ptree.o : cp-ptree.c $(CONFIG_H) $(CPLUS_TREE_H)
                    671: cp-gc.o : cp-gc.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    672: cp-except.o : cp-except.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
                    673: cp-expr.o : cp-expr.c $(CONFIG_H) $(CPLUS_TREE_H) $(RTL_H) flags.h \
                    674:   expr.h insn-codes.h
                    675: cp-edsel.o : cp-edsel.c $(CONFIG_H) $(CPLUS_TREE_H) stack.h flags.h
                    676: cp-xref.o : cp-xref.c $(CONFIG_H) $(CPLUS_TREE_H)
                    677: cp-pt.o : cp-pt.c $(CONFIG_H) $(CPLUS_TREE_H) cp-decl.h cp-parse.h
                    678: 
                    679: collect2 : collect2.o version.o $(LIBDEPS)
                    680:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o collect2 collect2.o version.o $(LIBS)
                    681: 
                    682: collect2.o : collect2.c $(CONFIG_H) gstab.h
1.1.1.2 ! root      683:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
        !           684:   -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
        !           685:   -DSTANDARD_BIN_PREFIX=\"$(bindir)/\" \
        !           686:   -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
        !           687:   -DDEFAULT_TARGET_MACHINE=\"$(target)\" \
        !           688:   -c `echo $(srcdir)/collect2.c | sed 's,^\./,,'`
1.1       root      689: 
                    690: # Objectionable C language specific files.
                    691: 
                    692: objc-parse.o : $(srcdir)/objc-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \
                    693:    c-tree.h input.h flags.h objc-actions.h
                    694:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/objc-parse.c
                    695: $(srcdir)/objc-parse.c : $(srcdir)/objc-parse.y
                    696:        cd $(srcdir); $(BISON) $(BISONFLAGS) objc-parse.y -o objc-parse.c
                    697: 
                    698: objc-actions.o : objc-actions.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h \
                    699:    flags.h objc-actions.h
                    700: 
                    701: # A file used by all variants of C.
                    702: 
                    703: c-common.o : c-common.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h flags.h
                    704: 
                    705: # Language-independent files.
                    706: 
                    707: gcc.o: gcc.c $(CONFIG_H) gvarargs.h obstack.h
                    708:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
                    709:   -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
1.1.1.2 ! root      710:   -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
1.1       root      711:   -DDEFAULT_TARGET_MACHINE=\"$(target)\" \
                    712:   -c `echo $(srcdir)/gcc.c | sed 's,^\./,,'`
                    713: 
                    714: dumpvers: dumpvers.c
                    715: 
                    716: version.o: version.c
                    717: obstack.o: obstack.c
                    718: 
                    719: tree.o : tree.c $(CONFIG_H) $(TREE_H) gvarargs.h flags.h function.h
                    720: print-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
                    721: stor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H) function.h
                    722: fold-const.o : fold-const.c $(CONFIG_H) $(TREE_H) flags.h 
1.1.1.2 ! root      723: toplev.o : toplev.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h input.h \
        !           724:    insn-attr.h xcoffout.h
1.1       root      725: 
                    726: rtl.o : rtl.c $(CONFIG_H) $(RTL_H)
                    727: 
                    728: print-rtl.o : print-rtl.c $(CONFIG_H) $(RTL_H)
                    729: rtlanal.o : rtlanal.c $(CONFIG_H) $(RTL_H)
                    730: 
                    731: varasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h \
1.1.1.2 ! root      732:    insn-codes.h expr.h hard-reg-set.h regs.h xcoffout.h
1.1       root      733: function.o : function.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h  \
                    734:    insn-flags.h insn-codes.h expr.h regs.h hard-reg-set.h insn-config.h \
                    735:    recog.h output.h
                    736: stmt.o : stmt.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h  \
                    737:    insn-flags.h insn-config.h insn-codes.h hard-reg-set.h expr.h loop.h recog.h
                    738: expr.o : expr.c $(CONFIG_H) $(RTL_H) $(TREE_H) gvarargs.h flags.h function.h  \
                    739:    insn-flags.h insn-codes.h expr.h insn-config.h recog.h output.h typeclass.h
                    740: calls.o : calls.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h \
                    741:    insn-flags.h
                    742: expmed.o : expmed.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
                    743:    insn-flags.h insn-config.h insn-codes.h expr.h recog.h real.h
                    744: explow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h hard-reg-set.h \
                    745:    insn-config.h expr.h recog.h insn-flags.h insn-codes.h
                    746: optabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h  \
                    747:    insn-flags.h insn-config.h insn-codes.h expr.h recog.h
                    748: dbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h regs.h \
1.1.1.2 ! root      749:    insn-config.h reload.h gstab.h xcoffout.h
1.1       root      750: sdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) gsyms.h flags.h \
                    751:    insn-config.h reload.h
                    752: dwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \
                    753:    insn-config.h reload.h output.h
1.1.1.2 ! root      754: xcoffout.o : xcoffout.c $(CONFIG_H) $(TREE_H) $(RTL_H) xcoffout.h flags.h
1.1       root      755: emit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) flags.h gvarargs.h function.h  \
                    756:    regs.h insn-config.h insn-codes.h real.h expr.h
1.1.1.2 ! root      757: getpwd.o : getpwd.c $(CONFIG_H)
1.1       root      758: 
                    759: integrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h integrate.h \
                    760:    insn-flags.h insn-config.h insn-codes.h expr.h real.h function.h
                    761: 
                    762: jump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h hard-reg-set.h regs.h \
                    763:    insn-config.h insn-flags.h insn-codes.h expr.h real.h
                    764: stupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h
                    765: 
                    766: cse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h real.h \
                    767:    insn-config.h recog.h
                    768: loop.o : loop.c $(CONFIG_H) $(RTL_H) flags.h loop.h insn-config.h \
                    769:    insn-flags.h insn-codes.h regs.h hard-reg-set.h recog.h expr.h real.h
                    770: unroll.o : unroll.c $(CONFIG_H) $(RTL_H) insn-config.h insn-codes.h \
                    771:    integrate.h regs.h flags.h expr.h loop.h
                    772: flow.o : flow.c $(CONFIG_H) $(RTL_H) flags.h insn-config.h \
                    773:    basic-block.h regs.h hard-reg-set.h output.h
                    774: combine.o : combine.c $(CONFIG_H) $(RTL_H) gvarargs.h flags.h  \
                    775:    insn-config.h insn-flags.h insn-codes.h insn-attr.h regs.h expr.h \
                    776:    basic-block.h recog.h real.h
                    777: regclass.o : regclass.c $(CONFIG_H) $(RTL_H) hard-reg-set.h flags.h \
                    778:    basic-block.h regs.h insn-config.h recog.h 
                    779: local-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) flags.h basic-block.h \
                    780:    regs.h hard-reg-set.h insn-config.h recog.h output.h
                    781: global-alloc.o : global-alloc.c $(CONFIG_H) $(RTL_H) flags.h  \
                    782:    basic-block.h regs.h hard-reg-set.h insn-config.h output.h
                    783: 
                    784: reload.o : reload.c $(CONFIG_H) $(RTL_H) flags.h \
                    785:    reload.h recog.h hard-reg-set.h insn-config.h insn-codes.h regs.h real.h
                    786: reload1.o : reload1.c $(CONFIG_H) $(RTL_H) flags.h expr.h \
                    787:    reload.h regs.h hard-reg-set.h insn-config.h insn-flags.h insn-codes.h \
                    788:    basic-block.h recog.h output.h
                    789: caller-save.o : caller-save.c $(CONFIG_H) $(RTL_H) flags.h \
                    790:    regs.h hard-reg-set.h insn-config.h basic-block.h recog.h reload.h expr.h
                    791: reorg.o : reorg.c $(CONFIG_H) $(RTL_H) conditions.h hard-reg-set.h \
                    792:    basic-block.h regs.h insn-config.h insn-attr.h insn-flags.h recog.h \
                    793:    flags.h output.h
                    794: sched.o : sched.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h \
                    795:    flags.h insn-config.h insn-attr.h
                    796: final.o : final.c $(CONFIG_H) $(RTL_H) gvarargs.h flags.h regs.h \
                    797:    recog.h conditions.h insn-config.h insn-attr.h real.h output.h \
1.1.1.2 ! root      798:    hard-reg-set.h insn-codes.h gstab.h xcoffout.h
1.1       root      799: recog.o : recog.c $(CONFIG_H) $(RTL_H)  \
                    800:    regs.h recog.h hard-reg-set.h flags.h insn-config.h insn-attr.h \
                    801:    insn-flags.h insn-codes.h real.h
                    802: reg-stack.o : reg-stack.c $(CONFIG_H) $(RTL_H) $(TREE_H) \
                    803:    regs.h hard-reg-set.h flags.h insn-config.h
                    804:    
                    805: aux-output.o : aux-output.c $(CONFIG_H) \
                    806:    $(RTL_H) regs.h hard-reg-set.h real.h insn-config.h conditions.h \
                    807:    insn-flags.h output.h insn-attr.h insn-codes.h
                    808: 
                    809: # Normally this target is not used; but it is used if you
                    810: # define ALLOCA=alloca.o.  In that case, you must get a suitable alloca.c
                    811: # from the GNU Emacs distribution.
                    812: # Note some machines won't allow $(CC) without -S on this source file.
                    813: alloca.o:      alloca.c
                    814: # sed is used to strip the comments from the assembler output.
                    815:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ALLOCA_FLAGS) \
                    816:          `echo $(srcdir)/alloca.c | sed 's,^\./,,'`
                    817:        $(ALLOCA_FINISH)
1.1.1.2 ! root      818:        -rm alloca.s
1.1       root      819: 
                    820: # Generate header and source files from the machine description, 
                    821: # and compile them.
                    822: 
                    823: .PRECIOUS: insn-config.h insn-flags.h insn-codes.h \
                    824:   insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
                    825:   insn-attr.h insn-attrtab.c
                    826: 
                    827: # The following pair of rules has this effect:
                    828: # genconfig is run only if the md has changed since genconfig was last run;
                    829: # but the file insn-config.h is touched only when its contents actually change.
                    830: 
                    831: # Each of the other insn-* files is handled by a similar pair of rules.
                    832: 
                    833: # Each of the insn-*.[ch] rules has a semicolon at the end,
                    834: # for otherwise the system Make on SunOS 4.1 never tries
                    835: # to recompile insn-*.o.
                    836: 
                    837: insn-config.h: stamp-config ;
                    838: stamp-config : md genconfig $(srcdir)/move-if-change
                    839:        ./genconfig md > tmp-config.h
                    840:        $(srcdir)/move-if-change tmp-config.h insn-config.h
                    841:        touch stamp-config
                    842: 
                    843: insn-flags.h: stamp-flags ;
                    844: stamp-flags : md genflags $(srcdir)/move-if-change
                    845:        ./genflags md > tmp-flags.h
                    846:        $(srcdir)/move-if-change tmp-flags.h insn-flags.h
                    847:        touch stamp-flags
                    848: 
                    849: insn-codes.h: stamp-codes ;
                    850: stamp-codes : md gencodes $(srcdir)/move-if-change
                    851:        ./gencodes md > tmp-codes.h
                    852:        $(srcdir)/move-if-change tmp-codes.h insn-codes.h
                    853:        touch stamp-codes
                    854: 
                    855: insn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) expr.h real.h output.h \
                    856:   insn-config.h insn-flags.h insn-codes.h
                    857:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c
                    858: 
                    859: insn-emit.c: stamp-emit ;
                    860: stamp-emit : md genemit $(srcdir)/move-if-change
                    861:        ./genemit md > tmp-emit.c
                    862:        $(srcdir)/move-if-change tmp-emit.c insn-emit.c
                    863:        touch stamp-emit
                    864: 
                    865: insn-recog.o : insn-recog.c $(CONFIG_H) $(RTL_H) insn-config.h recog.h \
                    866:   real.h output.h flags.h
                    867:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-recog.c
                    868: 
                    869: insn-recog.c: stamp-recog ;
                    870: stamp-recog : md genrecog $(srcdir)/move-if-change
                    871:        ./genrecog md > tmp-recog.c
                    872:        $(srcdir)/move-if-change tmp-recog.c insn-recog.c
                    873:        touch stamp-recog
                    874: 
                    875: insn-extract.o : insn-extract.c $(CONFIG_H) $(RTL_H)
                    876:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-extract.c
                    877: 
                    878: insn-extract.c: stamp-extract ;
                    879: stamp-extract : md genextract $(srcdir)/move-if-change
                    880:        ./genextract md > tmp-extract.c
                    881:        $(srcdir)/move-if-change tmp-extract.c insn-extract.c
                    882:        touch stamp-extract
                    883: 
                    884: insn-peep.o : insn-peep.c $(CONFIG_H) $(RTL_H) regs.h output.h real.h
                    885:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-peep.c
                    886: 
                    887: insn-peep.c: stamp-peep ;
                    888: stamp-peep : md genpeep $(srcdir)/move-if-change
                    889:        ./genpeep md > tmp-peep.c
                    890:        $(srcdir)/move-if-change tmp-peep.c insn-peep.c
                    891:        touch stamp-peep
                    892: 
                    893: insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(RTL_H) regs.h real.h output.h \
                    894:      insn-attr.h insn-config.h
                    895:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-attrtab.c
                    896: 
                    897: insn-attr.h: stamp-attr ;
                    898: stamp-attr : md genattr $(srcdir)/move-if-change
                    899:        ./genattr md > tmp-attr.h
                    900:        $(srcdir)/move-if-change tmp-attr.h insn-attr.h
                    901:        touch stamp-attr
                    902: 
                    903: insn-attrtab.c: stamp-attrtab ;
                    904: stamp-attrtab : md genattrtab $(srcdir)/move-if-change
                    905:        ./genattrtab md > tmp-attrtab.c
                    906:        $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c
                    907:        touch stamp-attrtab
                    908: 
                    909: insn-output.o : insn-output.c $(CONFIG_H) $(RTL_H) regs.h real.h conditions.h \
                    910:     hard-reg-set.h insn-config.h insn-flags.h insn-attr.h output.h recog.h \
                    911:     insn-codes.h
                    912:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-output.c
                    913: 
                    914: insn-output.c: stamp-output ;
                    915: stamp-output : md genoutput $(srcdir)/move-if-change
                    916:        ./genoutput md > tmp-output.c
                    917:        $(srcdir)/move-if-change tmp-output.c insn-output.c
                    918:        touch stamp-output
                    919: 
                    920: # Compile the programs that generate insn-* from the machine description.
                    921: # They are compiled with $(HOST_CC), and associated libraries,
                    922: # since they need to run on this machine
                    923: # even if GCC is being compiled to run on some other machine.
                    924: 
                    925: # $(CONFIG_H) is omitted from the deps of the gen*.o
                    926: # because these programs don't really depend on anything 
                    927: # about the target machine.  They do depend on config.h itself,
                    928: # since that describes the host machine.
                    929: 
                    930: genconfig : genconfig.o $(HOST_RTL) $(HOST_LIBDEPS)
                    931:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genconfig \
                    932:          genconfig.o $(HOST_RTL) $(HOST_LIBS)
                    933: 
                    934: genconfig.o : genconfig.c $(RTL_H) config.h
                    935:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genconfig.c
                    936: 
                    937: genflags : genflags.o $(HOST_RTL) $(HOST_LIBDEPS)
                    938:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genflags \
                    939:         genflags.o $(HOST_RTL) $(HOST_LIBS)
                    940: 
                    941: genflags.o : genflags.c $(RTL_H) config.h
                    942:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genflags.c
                    943: 
                    944: gencodes : gencodes.o $(HOST_RTL) $(HOST_LIBDEPS)
                    945:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o gencodes \
                    946:         gencodes.o $(HOST_RTL) $(HOST_LIBS)
                    947: 
                    948: gencodes.o : gencodes.c $(RTL_H) config.h
                    949:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/gencodes.c
                    950: 
                    951: genemit : genemit.o $(HOST_RTL) $(HOST_LIBDEPS)
                    952:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genemit \
                    953:         genemit.o $(HOST_RTL) $(HOST_LIBS)
                    954: 
                    955: genemit.o : genemit.c $(RTL_H) config.h
                    956:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genemit.c
                    957: 
                    958: genrecog : genrecog.o $(HOST_RTL) $(HOST_LIBDEPS)
                    959:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genrecog \
                    960:         genrecog.o $(HOST_RTL) $(HOST_LIBS)
                    961: 
                    962: genrecog.o : genrecog.c $(RTL_H) config.h
                    963:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genrecog.c
                    964: 
                    965: genextract : genextract.o $(HOST_RTL) $(HOST_LIBDEPS)
                    966:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genextract \
                    967:         genextract.o $(HOST_RTL) $(HOST_LIBS)
                    968: 
                    969: genextract.o : genextract.c $(RTL_H) config.h
                    970:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genextract.c
                    971: 
                    972: genpeep : genpeep.o $(HOST_RTL) $(HOST_LIBDEPS)
                    973:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genpeep \
                    974:         genpeep.o $(HOST_RTL) $(HOST_LIBS)
                    975: 
                    976: genpeep.o : genpeep.c $(RTL_H) config.h
                    977:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genpeep.c
                    978: 
                    979: genattr : genattr.o $(HOST_RTL) $(HOST_LIBDEPS)
                    980:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genattr \
                    981:         genattr.o $(HOST_RTL) $(HOST_LIBS)
                    982: 
                    983: genattr.o : genattr.c $(RTL_H) config.h
                    984:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genattr.c
                    985: 
                    986: genattrtab : genattrtab.o $(HOST_RTL) $(HOST_RTLANAL) $(HOST_LIBDEPS)
                    987:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genattrtab \
                    988:         genattrtab.o $(HOST_RTL) $(HOST_RTLANAL) $(HOST_LIBS)
                    989: 
                    990: genattrtab.o : genattrtab.c $(RTL_H) config.h insn-config.h
                    991:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genattrtab.c
                    992: 
                    993: genoutput : genoutput.o $(HOST_RTL) $(HOST_LIBDEPS)
                    994:        $(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o genoutput \
                    995:         genoutput.o $(HOST_RTL) $(HOST_LIBS)
                    996: 
                    997: genoutput.o : genoutput.c $(RTL_H) config.h
                    998:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(srcdir)/genoutput.c
                    999: 
                   1000: # Compile the libraries to be used by gen*.
                   1001: # If we are not cross-building, gen* use the same .o's that cc1 will use,
                   1002: # and HOST_PREFIX_1 is `foobar', just to ensure these rules don't conflict
                   1003: # with the rules for rtl.o, alloca.o, etc.
                   1004: $(HOST_PREFIX_1)rtl.o: $(srcdir)/rtl.c $(CONFIG_H) $(RTL_H)
                   1005:        rm -f $(HOST_PREFIX)rtl.c
                   1006:        cp $(srcdir)/rtl.c $(HOST_PREFIX)rtl.c
                   1007:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)rtl.c
                   1008: 
                   1009: $(HOST_PREFIX_1)rtlanal.o: $(srcdir)/rtlanal.c $(CONFIG_H) $(RTL_H)
                   1010:        rm -f $(HOST_PREFIX)rtlanal.c
                   1011:        cp $(srcdir)/rtlanal.c $(HOST_PREFIX)rtlanal.c
                   1012:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)rtlanal.c
                   1013: 
                   1014: $(HOST_PREFIX_1)alloca.o: alloca.c
                   1015:        rm -f $(HOST_PREFIX)alloca.c
                   1016:        cp $(srcdir)/alloca.c $(HOST_PREFIX)alloca.c
                   1017:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)alloca.c
                   1018: 
                   1019: $(HOST_PREFIX_1)obstack.o: obstack.c
                   1020:        rm -f $(HOST_PREFIX)obstack.c
                   1021:        cp $(srcdir)/obstack.c $(HOST_PREFIX)obstack.c
                   1022:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)obstack.c
                   1023: 
                   1024: $(HOST_PREFIX_1)malloc.o: malloc.c
                   1025:        rm -f $(HOST_PREFIX)malloc.c
                   1026:        cp $(srcdir)/malloc.c $(HOST_PREFIX)malloc.c
                   1027:        $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) $(HOST_PREFIX)malloc.c
                   1028: 
                   1029: # This satisfies the dependency that we get if you cross-compile a compiler
                   1030: # that does not need to compile alloca, malloc or whatever.
                   1031: $(HOST_PREFIX_1): 
                   1032:        touch $(HOST_PREFIX_1)
                   1033: 
                   1034: # Remake cpp and protoize.
                   1035: 
                   1036: # Making the preprocessor
                   1037: cpp: cccp
                   1038:        -rm -f cpp
                   1039:        ln cccp cpp
                   1040: cccp: cccp.o cexp.o version.o $(LIBDEPS)
                   1041:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cccp cccp.o cexp.o version.o $(LIBS)
                   1042: cexp.o: $(srcdir)/cexp.c $(CONFIG_H)
                   1043:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/cexp.c
                   1044: $(srcdir)/cexp.c: $(srcdir)/cexp.y
                   1045:        cd $(srcdir); $(BISON) -o cexp.c cexp.y
                   1046: cccp.o: cccp.c $(CONFIG_H) pcp.h version.c
                   1047: # The reason we use $(libdir)/g++-include rather than using libsubdir
                   1048: # is for compatibility with the current version of libg++.
                   1049:        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
1.1.1.2 ! root     1050:          -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
        !          1051:          -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
1.1       root     1052:          -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
1.1.1.2 ! root     1053:          -DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
1.1       root     1054:          -c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`
                   1055: 
                   1056: proto: config.status protoize unprotoize SYSCALLS.c.X protoize.1 unprotoize.1
                   1057: 
1.1.1.2 ! root     1058: protoize: protoize.o getopt.o getopt1.o getpwd.o version.o $(LIBDEPS)
1.1       root     1059:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) \
1.1.1.2 ! root     1060:          protoize.o getopt.o getopt1.o getpwd.o version.o $(LIBS) -o $@
1.1       root     1061: protoize.o:    $(srcdir)/protoize.c getopt.h $(CONFIG_H)
                   1062:        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
                   1063:           -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
                   1064:           -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
                   1065:           -DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
                   1066:          -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
                   1067:          -DSTD_PROTO_DIR=\"$(libsubdir)\" \
                   1068:          $(srcdir)/protoize.c
                   1069: 
1.1.1.2 ! root     1070: unprotoize: unprotoize.o getopt.o getopt1.o getpwd.o version.o $(LIBDEPS)
1.1       root     1071:        $(CC) $(ALL_CFLAGS) $(LDFLAGS) \
1.1.1.2 ! root     1072:          unprotoize.o getopt.o getopt1.o getpwd.o version.o $(LIBS) -o $@
1.1       root     1073: unprotoize.o:  $(srcdir)/protoize.c getopt.h $(CONFIG_H)
                   1074:        cp $(srcdir)/protoize.c unprotoize.c
                   1075:        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
                   1076:           -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
                   1077:           -DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
                   1078:           -DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
                   1079:          -DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
                   1080:          -DSTD_PROTO_DIR=\"$(libsubdir)\" \
                   1081:          -DUNPROTOIZE unprotoize.c
                   1082:        rm -f unprotoize.c
                   1083: 
                   1084: getopt.o: $(srcdir)/getopt.c getopt.h
                   1085:        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/getopt.c
                   1086: getopt1.o: $(srcdir)/getopt1.c getopt.h
                   1087:        $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/getopt1.c
                   1088: 
                   1089: protoize.1:    $(srcdir)/proto-man ./cpp
                   1090:        ./cpp -traditional $(srcdir)/proto-man \
                   1091:                | grep -v '^#' \
                   1092:                        | awk 'NF > 0 {print}' > tmp-proto.1
                   1093:        mv tmp-proto.1 protoize.1
                   1094: 
                   1095: unprotoize.1:  $(srcdir)/proto-man ./cpp
                   1096:        ./cpp -traditional -DUNPRO $(srcdir)/proto-man \
                   1097:                | grep -v '^#' \
                   1098:                        | awk 'NF > 0 {print}' > tmp-unproto.1
                   1099:        mv tmp-unproto.1 unprotoize.1
                   1100: 
1.1.1.2 ! root     1101: SYSCALLS.c : $(srcdir)/sys-types.h $(srcdir)/sys-protos.h
        !          1102:        cat $(srcdir)/sys-types.h $(srcdir)/sys-protos.h >$@
        !          1103: 
1.1       root     1104: # This info describes the target machine, so compile with GCC just built.
                   1105: SYSCALLS.c.X:  SYSCALLS.c $(GCC_PASSES)
                   1106:        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
1.1.1.2 ! root     1107:          -aux-info $@ -S -o /dev/null SYSCALLS.c
1.1       root     1108: 
                   1109: # Remake the info files.
                   1110: 
1.1.1.2 ! root     1111: doc: $(srcdir)/cpp.info $(srcdir)/gcc.info
1.1       root     1112: 
                   1113: $(srcdir)/cpp.info: $(srcdir)/cpp.texi
                   1114:        makeinfo `echo $(srcdir)/cpp.texi | sed 's,^\./,,'`
                   1115: 
1.1.1.2 ! root     1116: #$(srcdir)/gplus.info: $(srcdir)/gplus.texi
        !          1117: #      makeinfo `echo $(srcdir)/gplus.texi | sed 's,^\./,,'`
1.1       root     1118: 
                   1119: $(srcdir)/gcc.info: $(srcdir)/gcc.texi
                   1120:        makeinfo `echo $(srcdir)/gcc.texi | sed 's,^\./,,'`
                   1121: 
                   1122: # Deletion of files made during compilation.
                   1123: # There are four levels of this:
                   1124: #   `mostlyclean', `clean', `cleanconfig' and `realclean'.
                   1125: # `mostlyclean' is useful while working on a particular type of machine.
1.1.1.2 ! root     1126: # It deletes most, but not all, of the files made by compilation.
1.1       root     1127: # It does not delete libgcc.a or its parts, so it won't have to be recompiled.
1.1.1.2 ! root     1128: # `clean' deletes everything made by running `make all'.
1.1       root     1129: # `cleanconfig' also deletes the files made by config.
                   1130: # `realclean' also deletes everything that could be regenerated automatically.
                   1131: 
                   1132: mostlyclean:
                   1133:        -rm -f $(STAGESTUFF)
                   1134: # Delete the temporary source copies for cross compilation.
                   1135:        -rm -f $(HOST_PREFIX_1)rtl.c $(HOST_PREFIX_1)rtlanal.c
                   1136:        -rm -f $(HOST_PREFIX_1)alloca.c $(HOST_PREFIX_1)malloc.c
                   1137:        -rm -f $(HOST_PREFIX_1)obstack.c 
                   1138: # Delete the temp files made in the course of building libgcc.a.
1.1.1.2 ! root     1139:        -rm -f tmplibgcc* tmpcopy
1.1       root     1140:        for name in $(LIB1FUNCS); do rm -f $${name}.c; done
                   1141: # Delete other temporary files.
1.1.1.2 ! root     1142:        -rm -f tmp-float.h tmp-*proto.1 tmp-gcc.xtar.Z tmp-limits.h gccnew
1.1       root     1143: # Delete the stamp files.
                   1144:        -rm -f stamp-* tmp-*
1.1.1.2 ! root     1145: # Delete debugging dump files.
1.1       root     1146:        -rm -f *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
1.1.1.2 ! root     1147:        -rm -f *.dbr *.jump2 *.sched *.cse2 *.sched2 *.stack
        !          1148: # Delete some files made during installation.
        !          1149:        -rm -f specs float.h enquire SYSCALLS.c SYSCALLS.c.X
        !          1150:        -rm -f collect collect2 ld mips-tfile mips-tdump alloca.s
        !          1151: # Delete unwanted output files from TeX.
1.1       root     1152:        -rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
1.1.1.2 ! root     1153: # Delete sorted indices we don't actually use.
        !          1154:        -rm -f gcc.vrs gcc.kys gcc.tps gcc.pgs gcc.fns
        !          1155: # Delete core dumps.
        !          1156:        -rm -f core
1.1       root     1157: 
                   1158: # delete all files made by compilation.
                   1159: clean: mostlyclean
                   1160:        -rm -f libgcc.a libgcc1.a libgcc2.a libgcc2.ready
                   1161:        -rm -fr stage1 stage2 stage3 stage4
                   1162: 
1.1.1.2 ! root     1163: # This is used to get rid of everything found in the source dir
        !          1164: # that shouldn't be in the distribution.
        !          1165: distclean: clean
1.1       root     1166:        -rm -f tm.h aux-output.c config.h md config.status tconfig.h
1.1.1.2 ! root     1167:        -rm -f Makefile *.dvi *.oaux
1.1       root     1168: 
1.1.1.2 ! root     1169: # Delete anything likely to be found in the source directory
1.1       root     1170: # that shouldn't be in the distribution.
1.1.1.2 ! root     1171: extraclean: distclean
        !          1172:        -rm -rf =* #* *~* config/=* config/#* config/*~*
        !          1173:        -rm -f *.dvi *.oaux patch* *.orig *.rej *.d *.Z *.tar
        !          1174:        -rm -f *.s *.s[0-9] *.i
1.1       root     1175: 
                   1176: # Get rid of every file that's generated from some other file.
                   1177: # Most of these files ARE PRESENT in the GCC distribution.
1.1.1.2 ! root     1178: realclean: distclean
1.1       root     1179:        -rm -f cp-parse.c cp-parse.h cp-parse.output
                   1180:        -rm -f objc-parse.c objc-parse.output
                   1181:        -rm -f protoize.1 unprotoize.1
                   1182:        -rm -f c-parse.c c-parse.h c-parse.output
                   1183:        -rm -f cexp.c cexp.output TAGS 
                   1184:        -rm -f cpp.info* cpp.??s cpp.*aux
                   1185:        -rm -f gcc.info* gcc.??s gcc.*aux
                   1186:        -rm -f gplus.info* gplus.??s gplus.*aux
                   1187: 
                   1188: # Entry points `install' and `uninstall'.
                   1189: # Also temporarily `install-fixincludes' could replace `install-headers'.
                   1190: # Also use `install-collect2' to install collect2 when the config files don't.
                   1191: 
                   1192: install: $(INSTALL_TARGET)
                   1193: 
                   1194: # Copy the files of native compiler into directories where they will be run.
                   1195: install-native: install-common install-libgcc $(INSTALL_HEADERS) \
1.1.1.2 ! root     1196:    install-man
1.1       root     1197: 
                   1198: # Copy the files of cross compiler into directories where they will be run.
                   1199: install-cross: install-common install-common-headers \
                   1200:    install-man install-cross-tools install-libgcc
                   1201: 
                   1202: # Install the tools, libraries and header files for the target machine
                   1203: # where cross-compilation will look for them.
                   1204: # Use tooldir to find them.
                   1205: install-cross-tools: install-dir
                   1206: # The first if makes this a no-op except for a cross compiler.
                   1207: # The /. after the dirname causes test to follow symlinks.
                   1208: # Before making a link or an indirection script, 
                   1209: # we verify the desired file does not already exist.
                   1210: # If a symlink does exist, then making a symlink would certainly fail, 
                   1211: # leading us to overwrite the real file through the symlink.
                   1212:        -if [ -f gcc-cross ] ; \
                   1213:        then \
                   1214:          if [ -d $(tooldir)/. ] ; \
                   1215:          then \
                   1216:            for file in as ld ar ranlib; do \
                   1217:              if [ -f $(libsubdir)/$$file ] ; \
                   1218:              then true; \
                   1219:              else  \
                   1220:                $(SYMLINK) $(tooldir)/bin/$$file $(libsubdir)/$$file \
                   1221:                || (echo "#!/bin/sh"; echo $(tooldir)/bin/$$file "$$@") > $(libsubdir)/$$file; \
                   1222:              fi; \
                   1223:            done; \
                   1224:            for file in $(tooldir)/lib/*; do \
                   1225:              if [ -f $$file ] ; \
                   1226:              then \
                   1227:                if [ -f $(libsubdir)/`basename $$file` ] ; \
                   1228:                then true; \
                   1229:                else  \
                   1230:                  $(SYMLINK) $$file $(libsubdir)/`basename $$file` \
                   1231:                  || $(INSTALL_DATA) $$file $(libsubdir)/`basename $$file`; \
                   1232:                fi; \
                   1233:              else true; \
                   1234:              fi; \
                   1235:            done; \
                   1236:            if [ -d $(tooldir)/include/. ] ; then \
                   1237:              $(SYMLINK) $(tooldir)/include $(libsubdir)/sys-include \
                   1238:              || (if [ -d $(libsubdir)/sys-include ] ; then true ; else mkdir $(libsubdir)/sys-include ; fi; \
                   1239:                  cd $(tooldir)/include; tar cf - . | (cd $(libsubdir)/sys-include; tar xpf -)); \
                   1240:            else true; fi; \
                   1241:          else true; \
                   1242:          fi; \
                   1243:        else true; \
                   1244:        fi;
                   1245: 
                   1246: # Run this on the target machine
                   1247: # to finish installation of cross compiler.
                   1248: install-cross-rest: install-float-h-cross
                   1249: 
                   1250: # Install float.h for cross compiler.
                   1251: # Run this on the target machine!
                   1252: install-float-h-cross:
                   1253:        if [ -f enquire ] ; then true; else false; done
                   1254:        -./enquire -f > float.h
                   1255:        -rm -f $(libsubdir)/include/float.h
                   1256:        $(INSTALL_DATA) float.h $(libsubdir)/include/float.h
                   1257:        chmod a-x $(libsubdir)/include/float.h
                   1258: 
                   1259: # Create the installation directory.
                   1260: install-dir:
                   1261:        if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; fi
1.1.1.2 ! root     1262:        if [ -d $(libdir)/gcc-lib ] ; then true ; else mkdir $(libdir)/gcc-lib ; fi
        !          1263:        if [ -d $(libdir)/gcc-lib/$(target) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target) ; fi
        !          1264:        if [ -d $(libdir)/gcc-lib/$(target)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version) ; fi
1.1       root     1265:        if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; fi
                   1266: # We don't use mkdir -p to create the parents of mandir,
                   1267: # because some systems don't support it.
                   1268: # Instead, we use this technique to create the immediate parent of mandir.
                   1269:        parent=`echo $(mandir)|sed -e 's@/[^/]*$$@@'`; \
                   1270:        if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
                   1271:        -if [ -d $(mandir) ] ; then true ; else mkdir $(mandir) ; fi
                   1272: 
                   1273: # Install the compiler executables built during cross compilation.
                   1274: install-common: native install-dir
                   1275:        for file in $(COMPILERS); do \
                   1276:          if [ -f $$file ] ; then \
                   1277:            rm -f $(libsubdir)/$$file; \
                   1278:            $(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
                   1279:          else true; \
                   1280:          fi; \
                   1281:        done
1.1.1.2 ! root     1282:        for file in $(EXTRA_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) ..; do \
1.1       root     1283:          if [ x"$$file" != x.. ]; then \
                   1284:            rm -f $(libsubdir)/$$file; \
                   1285:            $(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
                   1286:          else true; fi; \
                   1287:        done
                   1288:        -rm -f $(libsubdir)/specs
                   1289:        $(INSTALL_DATA) specs $(libsubdir)/specs
                   1290: # Install the driver program as gcc-$(target)
                   1291: # and also as either gcc (if native) or $(tooldir)/bin/gcc.
                   1292:        -if [ -f gcc-cross ] ; then \
1.1.1.2 ! root     1293:          $(INSTALL_PROGRAM) gcc-cross $(bindir)/gcc-$(target); \
1.1       root     1294:          if [ -d $(tooldir)/bin/. ] ; then \
                   1295:            rm -f $(tooldir)/bin/gcc; \
                   1296:            $(INSTALL_PROGRAM) gcc-cross $(tooldir)/bin/gcc; \
                   1297:          else true; fi; \
                   1298:        else \
                   1299:          rm -f $(bindir)/gcc; \
                   1300:          $(INSTALL_PROGRAM) gcc $(bindir)/gcc; \
                   1301:          rm -f $(bindir)/gcc-$(target)-1; \
                   1302:          ln $(bindir)/gcc $(bindir)/gcc-$(target)-1; \
                   1303:          mv $(bindir)/gcc-$(target)-1 $(bindir)/gcc-$(target); \
                   1304:        fi
                   1305:        $(INSTALL_PROGRAM) $(srcdir)/c++ $(bindir)/c++
                   1306:        $(INSTALL_PROGRAM) $(srcdir)/g++ $(bindir)/g++
                   1307:        -rm -f $(libsubdir)/cpp
                   1308:        $(INSTALL_PROGRAM) cpp $(libsubdir)/cpp
                   1309: 
                   1310: # Install protoize.
                   1311: install-proto: proto install-dir
                   1312:        -rm -f $(bindir)/protoize
                   1313:        $(INSTALL_PROGRAM) protoize $(bindir)/protoize
                   1314:        -rm -f $(bindir)/unprotoize
                   1315:        $(INSTALL_PROGRAM) unprotoize $(bindir)/unprotoize
                   1316:        -rm -f $(libsubdir)/SYSCALLS.c.X
                   1317:        $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X
                   1318:        chmod a-x $(libsubdir)/SYSCALLS.c.X
                   1319: 
                   1320: # Install the man pages.
1.1.1.2 ! root     1321: install-man: install-dir $(srcdir)/gcc.1 $(srcdir)/cccp.1 \
        !          1322:    protoize.1 unprotoize.1 $(srcdir)/g++.1
1.1       root     1323:        -rm -f $(mandir)/gcc$(manext)
                   1324:        $(INSTALL_DATA) $(srcdir)/gcc.1 $(mandir)/gcc$(manext)
                   1325:        chmod a-x $(mandir)/gcc$(manext)
1.1.1.2 ! root     1326:        -rm -f $(mandir)/cccp$(manext)
        !          1327:        $(INSTALL_DATA) $(srcdir)/cccp.1 $(mandir)/cccp$(manext)
        !          1328:        chmod a-x $(mandir)/cccp$(manext)
1.1       root     1329:        -rm -f $(mandir)/protoize$(manext)
                   1330:        $(INSTALL_DATA) protoize.1 $(mandir)/protoize$(manext)
                   1331:        chmod a-x $(mandir)/protoize$(manext)
                   1332:        -rm -f $(mandir)/unprotoize$(manext)
                   1333:        $(INSTALL_DATA) unprotoize.1 $(mandir)/unprotoize$(manext)
                   1334:        chmod a-x $(mandir)/unprotoize$(manext)
1.1.1.2 ! root     1335:        -rm -f $(mandir)/g++$(manext)
        !          1336:        $(INSTALL_DATA) $(srcdir)/g++.1 $(mandir)/g++$(manext)
        !          1337:        chmod a-x $(mandir)/g++$(manext)
1.1       root     1338: 
                   1339: # Install the library.
                   1340: install-libgcc: libgcc.a
                   1341:        -if [ -f libgcc.a ] ; then \
                   1342:          rm -f $(libsubdir)/libgcc.a; \
                   1343:          $(INSTALL_DATA) libgcc.a $(libsubdir)/libgcc.a; \
                   1344:          if $(RANLIB_TEST) ; then \
                   1345:            (cd $(libsubdir); $(RANLIB) libgcc.a); else true; fi; \
                   1346:          chmod a-x $(libsubdir)/libgcc.a; \
                   1347:        else true; fi
                   1348: 
                   1349: # Install all the header files for native compiler.
                   1350: install-headers: install-common-headers install-float-h install-limits-h
                   1351: 
                   1352: # Install float.h for native compiler.
                   1353: install-float-h: float.h
                   1354:        -rm -f $(libsubdir)/include/float.h
                   1355:        $(INSTALL_DATA) float.h $(libsubdir)/include/float.h
                   1356:        chmod a-x $(libsubdir)/include/float.h
                   1357: 
                   1358: # Install limits.h, optionally inheriting from the standard system version.
                   1359: install-limits-h: limits.h limitx.h
                   1360:        -rm -f $(libsubdir)/include/limits.h tmp-limits.h
                   1361:        if [ -f /usr/include/limits.h ] ; then \
                   1362:          cat $(srcdir)/limitx.h $(srcdir)/limits.h > tmp-limits.h; \
                   1363:        else \
                   1364:          cat $(srcdir)/limits.h > tmp-limits.h; \
                   1365:        fi
                   1366:        $(INSTALL_DATA) tmp-limits.h $(libsubdir)/include/limits.h
                   1367:        chmod a-x $(libsubdir)/include/limits.h
                   1368:        rm tmp-limits.h
                   1369: 
                   1370: # Install the fixed headers that are the same for all machines.
                   1371: install-common-headers: install-dir $(USER_H) gvarargs.h gstdarg.h gstddef.h
                   1372:        if [ -d $(libsubdir)/include ] ; then true ; else mkdir $(libsubdir)/include ; fi
                   1373:        -chmod ugo+rx $(libsubdir)/include
                   1374: # Must compute $(libsubdir) before the cd; the awk script won't work after.
                   1375:        shelllibsubdir=$(libsubdir); \
                   1376:        cd $(srcdir); \
                   1377:        for file in $(USER_H); do \
                   1378:           rm -f $$shelllibsubdir/include/`basename $$file`; \
                   1379:           $(INSTALL_DATA) `basename $$file` $$shelllibsubdir/include/`basename $$file`; \
                   1380:           chmod a-x $$shelllibsubdir/include/`basename $$file`; \
                   1381:        done
                   1382:        -rm -f $(libsubdir)/include/varargs.h
                   1383:        $(INSTALL_DATA) $(srcdir)/gvarargs.h $(libsubdir)/include/varargs.h
                   1384:        chmod a-x $(libsubdir)/include/varargs.h
                   1385:        -rm -f $(libsubdir)/include/stdarg.h
                   1386:        $(INSTALL_DATA) $(srcdir)/gstdarg.h $(libsubdir)/include/stdarg.h
                   1387:        chmod a-x $(libsubdir)/include/stdarg.h
                   1388:        -rm -f $(libsubdir)/include/stddef.h
                   1389:        $(INSTALL_DATA) $(srcdir)/gstddef.h $(libsubdir)/include/stddef.h
                   1390:        chmod a-x $(libsubdir)/include/stddef.h
                   1391: # Copy byteorder.h into the object file directory 
                   1392: # so that fixinc.svr4 can get at it if necessary.
                   1393: # If the dirs are the same, this won't do anything.
                   1394:        -cp $(srcdir)/byteorder.h .
                   1395: 
                   1396: # $(libsubdir)/include:
                   1397: #      if [ -d $(libsubdir)/include ] ; then true ; else mkdir $(libsubdir)/include ; fi
                   1398: #      -chmod ugo+rx $(libsubdir)/include
                   1399: 
                   1400: # This appears not to work.  It isn't clear how to fix it.
1.1.1.2 ! root     1401: # $(libsubdir)/include/README: $(libsubdir)/include $(srcdir)/$(FIXINCLUDES)
        !          1402: #      LIB=$(libsubdir)/include $(srcdir)/$(FIXINCLUDES)
1.1       root     1403: #      $(INSTALL_DATA) $(srcdir)/fixincludes-README $@
                   1404: #      chmod a-x $@
                   1405: 
                   1406: # Run fixincludes in the proper directory.
                   1407: install-fixincludes: install-headers
                   1408:        rm -rf $(libsubdir)/tmp
                   1409:        mkdir $(libsubdir)/tmp
                   1410: # Move aside the headers that come from GCC; delete all else.
1.1.1.2 ! root     1411: # The sed command gets just the last file name component;
        !          1412: # this is necessary because VPATH could add a dirname.
        !          1413: # Using basename would be simpler, but some systems don't have it.
        !          1414:        cd $(libsubdir)/include; \
        !          1415:        for file in $(INSTALLED_H); do \
        !          1416:          realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
        !          1417:          mv $$realfile ../tmp; \
        !          1418:        done; \
        !          1419:        rm -rf *
1.1       root     1420: # Install fixed copies of system files.
                   1421:        $(srcdir)/$(FIXINCLUDES) $(libsubdir)/include
                   1422: # Bring back gcc's header files.
                   1423:        cd $(libsubdir)/include; mv ../tmp/* .; rmdir ../tmp
                   1424: # Install the README
                   1425:        $(INSTALL_DATA) $(srcdir)/README-fixinc $(libsubdir)/include/README
                   1426:        chmod a-x $(libsubdir)/include/README
                   1427: 
                   1428: # Use this target to install the program `collect2' under the name `ld'.
                   1429: install-collect2: collect2
                   1430:        $(INSTALL_PROGRAM) collect2 $(libsubdir)/ld
                   1431: # Install the driver program as $(libsubdir)/gcc for collect2.
                   1432:        -if [ -f gcc-cross ] ; then \
                   1433:          $(INSTALL_PROGRAM) gcc-cross $(libsubdir)/gcc; \
                   1434:        else \
                   1435:          $(INSTALL_PROGRAM) gcc $(libsubdir)/gcc; \
                   1436:        fi
                   1437: 
                   1438: # Cancel installation by deleting the installed files.
                   1439: uninstall:
                   1440:        -rm -rf $(libsubdir)
                   1441:        -rm -rf $(bindir)/gcc
                   1442:        -rm -rf $(bindir)/protoize
                   1443:        -rm -rf $(bindir)/unprotoize
                   1444:        -rm -rf $(mandir)/gcc$(manext)
1.1.1.2 ! root     1445:        -rm -rf $(mandir)/cccp$(manext)
1.1       root     1446:        -rm -rf $(mandir)/protoize$(manext)
                   1447:        -rm -rf $(mandir)/unprotoize$(manext)
                   1448: 
                   1449: # These exist for maintenance purposes.
                   1450: 
                   1451: # Update the tags table.
                   1452: TAGS: force
                   1453:        cd $(srcdir);                                                   \
                   1454:        mkdir temp;                                                     \
                   1455:        mv -f c-parse.c c-parse.h cp-parse.c cp-parse.h objc-parse.c cexp.c temp;       \
                   1456:        etags *.y *.h *.c;                                              \
                   1457:        mv temp/* .;                                                    \
                   1458:        rmdir temp
                   1459: 
                   1460: # Create the distribution tar file.
                   1461: #dist: gcc-$(version).tar.Z
                   1462: dist: gcc.xtar.Z
                   1463: 
                   1464: gcc.xtar.Z: gcc.xtar
                   1465:        compress < gcc.xtar > tmp-gcc.xtar.Z
                   1466:        mv tmp-gcc.xtar.Z gcc.xtar.Z
                   1467: 
                   1468: #gcc-$(version).tar.Z: gcc-$(version).tar
                   1469: #      compress < gcc-$(version).tar > gcc-$(version).tar.Z
                   1470: 
                   1471: #gcc-$(version).tar:
                   1472: gcc.xtar:
                   1473:        -rm -rf gcc-$(version) tmp      
                   1474: # Put all the files in a temporary subdirectory
                   1475: # which has the name that we want to have in the tar file.
                   1476:        mkdir tmp
                   1477:        mkdir tmp/config
                   1478:        for file in *[0-9a-zA-Z+]; do \
                   1479:          ln $$file tmp || cp $$file tmp; \
                   1480:        done
                   1481:        cd config; \
                   1482:        for file in *[0-9a-zA-Z+]; do \
                   1483:          ln $$file ../tmp/config || cp $$file ../tmp/config; \
                   1484:        done
                   1485:        ln .gdbinit tmp
                   1486:        mv tmp gcc-$(version)
                   1487: # Get rid of everything we don't want in the distribution.
1.1.1.2 ! root     1488:        cd gcc-$(version); make -f Makefile.in extraclean
1.1       root     1489: # Make the distribution.
                   1490:        tar chf gcc.xtar gcc-$(version)
                   1491: # Get rid of the temporary directory.
                   1492:        rm -rf gcc-$(version)
                   1493: 
                   1494: # do make -f ../gcc/Makefile maketest DIR=../gcc
                   1495: # in the intended test directory to make it a suitable test directory.
                   1496: # THIS IS OBSOLETE; use the -srcdir operand in configure instead. 
                   1497: maketest:
                   1498:        ln -s $(DIR)/*.[chy] .
                   1499:        ln -s $(DIR)/configure .
                   1500:        ln -s $(DIR)/*.def .
                   1501:        -rm -f =*
                   1502:        ln -s $(DIR)/.gdbinit .
                   1503:        ln -s $(DIR)/$(FIXINCLUDES) .
                   1504:        -ln -s $(DIR)/bison.simple .
                   1505:        ln -s $(DIR)/config .
                   1506:        ln -s $(DIR)/move-if-change .
                   1507: # The then and else were swapped to avoid a problem on Ultrix.
                   1508:        if [ ! -f Makefile ] ; then ln -s $(DIR)/Makefile .; else false; fi
                   1509:        -rm tm.h aux-output.c config.h md
                   1510:        make clean
                   1511: # You must then run config to set up for compilation.
                   1512: 
                   1513: bootstrap: all force
                   1514:        $(MAKE) stage1
                   1515: # This used to define ALLOCA as empty, but that would lead to bad results
                   1516: # for a subsequent `make install' since that would not have ALLOCA empty.
                   1517: # To prevent `make install' from compiling alloca.o and then relinking cc1
                   1518: # because alloca.o is newer, we permit these recursive makes to compile
                   1519: # alloca.o.  Then cc1 is newer, so it won't have to be relinked.
                   1520:        $(MAKE) CC="stage1/gcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
                   1521:        $(MAKE) stage2
                   1522:        $(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
                   1523: 
                   1524: bootstrap2: force
                   1525:        $(MAKE) CC="stage1/gcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
                   1526:        $(MAKE) stage2
                   1527:        $(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
                   1528: 
                   1529: bootstrap3: force
                   1530:        $(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
                   1531: 
                   1532: # Copy the object files from a particular stage into a subdirectory.
                   1533: stage1: force
1.1.1.2 ! root     1534:        -if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
1.1       root     1535:        -mv $(STAGESTUFF) stage1
                   1536:        -rm -f stage1/libgcc.a
                   1537:        -cp libgcc.a stage1
                   1538:        -if $(RANLIB_TEST) ; then $(RANLIB) stage1/libgcc.a; else true; fi
                   1539: 
                   1540: stage2: force
1.1.1.2 ! root     1541:        -if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
1.1       root     1542:        -mv $(STAGESTUFF) stage2
                   1543:        -rm -f stage2/libgcc.a
                   1544:        -cp libgcc.a stage2
                   1545:        -if $(RANLIB_TEST) ; then $(RANLIB) stage2/libgcc.a; else true; fi
                   1546: 
                   1547: stage3: force
                   1548:        if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
                   1549:        -mv $(STAGESTUFF) stage3
                   1550:        -rm -f stage3/libgcc.a
                   1551:        -cp libgcc.a stage3
                   1552:        -if $(RANLIB_TEST) ; then $(RANLIB) stage3/libgcc.a; else true; fi
                   1553: 
                   1554: stage4: force
                   1555:        if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
                   1556:        -mv $(STAGESTUFF) stage4
                   1557:        -rm -f stage4/libgcc.a
                   1558:        -cp libgcc.a stage4
                   1559:        -if $(RANLIB_TEST) ; then $(RANLIB) stage4/libgcc.a; else true; fi
                   1560: 
                   1561: # Copy just the executable files from a particular stage into a subdirectory,
                   1562: # and delete the object files.  Use this if you're just verifying a version
                   1563: # that is pretty sure to work, and you are short of disk space.
                   1564: risky-stage1: force
                   1565:        if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
                   1566:        -mv cc1 cpp cccp gcc stage1
                   1567:        -rm -f stage1/libgcc.a
                   1568:        -cp libgcc.a stage1 && $(RANLIB) stage1/libgcc.a
                   1569:        -make clean
                   1570: 
                   1571: risky-stage2: force
                   1572:        if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
                   1573:        -mv cc1 cpp cccp gcc stage2
                   1574:        -rm -f stage2/libgcc.a
                   1575:        -cp libgcc.a stage2 && $(RANLIB) stage2/libgcc.a
                   1576:        -make clean
                   1577: 
                   1578: risky-stage3: force
                   1579:        if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
                   1580:        -mv cc1 cpp cccp gcc stage3
                   1581:        -rm -f stage3/libgcc.a
                   1582:        -cp libgcc.a stage3 && $(RANLIB) stage3/libgcc.a
                   1583:        -make clean
                   1584: 
                   1585: risky-stage4: force
                   1586:        if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
                   1587:        -mv cc1 cpp cccp gcc stage4
                   1588:        -rm -f stage4/libgcc.a
                   1589:        -cp libgcc.a stage4 && $(RANLIB) stage4/libgcc.a
                   1590:        -make clean
                   1591: 
                   1592: #In GNU Make, ignore whether `stage*' exists.
                   1593: .PHONY: stage1 stage2 stage3 stage4 clean realclean TAGS bootstrap
                   1594: .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
                   1595: 
                   1596: force:

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.