Three staging checkpoint.
authorK. Richard Pixley <rich@cygnus>
Wed, 24 Apr 1991 16:52:32 +0000 (16:52 +0000)
committerK. Richard Pixley <rich@cygnus>
Wed, 24 Apr 1991 16:52:32 +0000 (16:52 +0000)
Makefile.in
binutils/Makefile.in
configure
configure.in
gas/Makefile.in

index a98a2d5a0bf9483048bab32543cbb58479e2301b..2f175b315845dd99075548c2313950e22ec87f08 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Makefile for directory with subdirs to build.
 #
-# Last Mod Tue Apr 16 12:57:52 PDT 1991, by rich@sendai
+# Last Mod Thu Apr 18 17:41:48 PDT 1991, by rich@cygint.cygnus.com
 #
 
 # $Id$
@@ -12,22 +12,21 @@ destdir = /usr/local
 #CC = gcc -b$(target) # -B$(srcdir)/../gas/Host-$(host)/Target-$(target)/
 #CFLAGS = -g -nostdinc -nostdlib -I- -I/usr/local/lib/gcc/$(target)/1.92/include -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE)
 
-# These are roughly topologically sorted in order to make porting more
-# streamlined.
-
-SUBDIRS =
-NONSUBDIRS =
-SUBDIRS_INCLUDE = machine-dep
-
 RANLIB = ranlib
 AR = ar
 AR_FLAGS = cqv
 
+BOOTSTRAPPABLE = getopt bfd binutils ld gas gcc gnulib
+OTHERS = 
+
 #### host and target specific makefile fragments come in here.
 ###
 
-subdir_do: $(SUBDIRS) $(TARGETDIRS)
-       for i in $(SUBDIRS); \
+all:
+       $(MAKE) subdir_do DO=all "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)"
+
+subdir_do: $(DODIRS)
+       for i in $(DODIRS); \
          do \
            if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \
                then echo .$(target) ; fi`$(subdir); \
@@ -41,37 +40,63 @@ subdir_do: $(SUBDIRS) $(TARGETDIRS)
            fi ;\
          done
 
-all:
-       $(MAKE) subdir_do DO=all
-
-stage1:
-       $(MAKE) subdir_do DO=stage1
-
 bootstrap:
        $(MAKE) all
        $(MAKE) stage1
+       $(MAKE) pass "stagepass=stage1"
+       $(MAKE) stage2
+       $(MAKE) pass "stagepass=stage2"
+
+bootstrap2:
+       $(MAKE) pass "stagepass=stage1"
+       $(MAKE) stage2
+       $(MAKE) pass "stagepass=stage2"
+
+bootstrap3:
+       $(MAKE) pass "stagepass=stage2"
+
+pass:
+       $(MAKE) subdir_do DO=all "DODIRS=$(BOOTSTRAPPABLE)" \
+               "CC=$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/gcc -O \
+               -B$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \
+               -B$(srcdir)/../gas`if [ -d $(srcdir)/gas.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/" \
+               "AR=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/ar" \
+               "RANLIB=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/ranlib" \
+               "LOADLIBES=$(srcdir)/../gnulib`if [ -d $(srcdir)/binutils.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/gnulib.a /lib/libc.a" \
+               "LDFLAGS=-nostdlib /lib/crt0.o \
+               -B$(srcdir)/../ld`if [ -d $(srcdir)/ld.$(target) ] ; \
+               then echo .$(target) ; fi`$(subdir)/$(stagepass)/"
 
-clean:
-       rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
-       $(MAKE) subdir_do DO=clean
 
-install:
-       $(MAKE) subdir_do DO=install
+stage1:
+       $(MAKE) subdir_do DO=stage1 "DODIRS=$(BOOTSTRAPPABLE)"
 
-# When installing include files, be sure that machine-dependent
-# files override machine-independent files.
-# Might be better to check for collisions?  FIXME
-install_crt:
-       $(MAKE) SUBDIRS=machine-dep DO=install_crt
+stage2:
+       $(MAKE) subdir_do DO=stage2 "DODIRS=$(BOOTSTRAPPABLE)"
 
-install_gnulib:
-       $(MAKE) SUBDIRS=gnulib DO=install_gnulib
+stage3:
+       $(MAKE) subdir_do DO=stage3 "DODIRS=$(BOOTSTRAPPABLE)"
 
-install_include:
-       $(MAKE) SUBDIRS=$(SUBDIRS_INCLUDE) DO=install_include
+stage4:
+       $(MAKE) subdir_do DO=stage4 "DODIRS=$(BOOTSTRAPPABLE)"
 
-install_lib: libc.a
-       cp libc.a $(DESTDIR)/lib/libc.a
+de-stage1:; $(MAKE) subdir_do DO=de-stage1 "DODIRS=$(BOOTSTRAPPABLE)"
+de-stage2:; $(MAKE) subdir_do DO=de-stage2 "DODIRS=$(BOOTSTRAPPABLE)"
+de-stage3:; $(MAKE) subdir_do DO=de-stage3 "DODIRS=$(BOOTSTRAPPABLE)"
+de-stage4:; $(MAKE) subdir_do DO=de-stage4 "DODIRS=$(BOOTSTRAPPABLE)"
+
+clean:
+       rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
+       $(MAKE) subdir_do DO=clean "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)"
+
+install:
+       $(MAKE) subdir_do DO=install "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)"
 
 etags tags: TAGS
 
@@ -103,7 +128,10 @@ Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
 
 #
 # $Log$
-# Revision 1.9  1991/04/17 01:34:36  rich
+# Revision 1.10  1991/04/24 16:50:53  rich
+# Three staging checkpoint.
+#
+# Revision 1.9  1991/04/17  01:34:36  rich
 # Added getopt for binutils, fixed problem with host dependancies in
 # configure.template.
 #
index f4e7f984e785e2deafb905860a3f4653a8e01333..82926542c2b925376d381493cbd125284da5fa09 100644 (file)
@@ -34,40 +34,18 @@ OBJDUMP_PROG=objdump
 
 PROGS = $(SIZE_PROG) $(COPY_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRIP_PROG) $(RANLIB_PROG)
 
-#CC = gcc -Wall
-#CC=gcc
 BASEDIR = $(srcdir)/..
-# Let rich do this for now:
 LIBDIR  = $(srcdir)/../bfd$(subdir)
 
-#__dgux__#DEFINES=-DHOST_SYS=DGUX_SYS
-
-#__sun3__#DEFINES=-DHOST_SYS=SUN3_SYS
-#__sun3__#LDFLAGS= -Bstatic
-
-#__sun4__#DEFINES=-DHOST_SYS=SUN4_SYS
-#__sun4__#LDFLAGS= -Bstatic
-
-#__sun386i__#LDFLAGS   = -Bstatic
-
-#__rs6000__#DEFINES=-Daix
-#__rs6000__#ALLOCA = alloca.o
-
-#__i386v__#ALLOCA = alloca.o
-#__i386v__#DEFINES=-DUSG
-
-
 #### host and target dependant Makefile fragments come in here.
 ###
 
 INCDIR = $(BASEDIR)/include
 
-CFLAGS  = -g -I$(srcdir)/../include-cygnus -I$(INCDIR) $(DEFINES) $(CDEFINES)
-
-
-bindir=$(BASEDIR)/bin
+CFLAGS  = -g -I$(srcdir)/../include-cygnus -I$(INCDIR) $(HDEFINES) $(TDEFINES)
 
 DISASMS = m68k-pinsn.o i960-pinsn.o sparc-pinsn.o
+
 #\f
 ## Random definitions
 # Hopefully all these may be flushed once we get configuration down pat.
@@ -90,7 +68,7 @@ GNU_GETOPT_LONG = $(srcdir)/../getopt$(subdir)/libgetopt.a
 # Code shared by all the binutils.
 BULIBS = bucomm.o version.o filemode.o
 
-ADDL_LIBS = $(GNU_GETOPT_LONG) $(MALLOC)   $(BULIBS)
+ADDL_LIBS = $(GNU_GETOPT_LONG) $(MALLOC) $(BULIBS) $(BFD)
 
 BFD = $(LIBDIR)/libbfd.a
 #\f
@@ -103,19 +81,19 @@ all: $(ADDL_LIBS) $(PROGS)
 #      (cd $(LIBDIR); make)
 
 $(SIZE_PROG): $(ADDL_LIBS) size.o $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $(SIZE_PROG) size.o $(ADDL_LIBS) $(BFD)
+       $(CC) $(LDFLAGS) $(CFLAGS) -o $(SIZE_PROG) size.o $(ADDL_LIBS) $(LOADLIBES)
 
 $(COPY_PROG): $(ADDL_LIBS) copy.o $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $(COPY_PROG) copy.o $(ADDL_LIBS) $(BFD)
+       $(CC) $(LDFLAGS) $(CFLAGS) -o $(COPY_PROG) copy.o $(ADDL_LIBS) $(LOADLIBES)
 
 $(NM_PROG): $(ADDL_LIBS) nm.o $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $(NM_PROG) nm.o $(MALLOC) $(ADDL_LIBS) $(BFD)
+       $(CC) $(LDFLAGS) $(CFLAGS) -o $(NM_PROG) nm.o $(ADDL_LIBS) $(LOADLIBES)
 
 $(OBJDUMP_PROG): $(ADDL_LIBS) size.o objdump.o $(DISASMS) $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $(OBJDUMP_PROG) objdump.o $(DISASMS) $(ADDL_LIBS) $(BFD)
+       $(CC) $(LDFLAGS) $(CFLAGS) -o $(OBJDUMP_PROG) objdump.o $(DISASMS) $(ADDL_LIBS) $(LOADLIBES)
 
 $(AR_PROG): $(ADDL_LIBS) ar.o $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $(AR_PROG) ar.o $(MALLOC) $(ADDL_LIBS) $(BFD)
+       $(CC) $(LDFLAGS) $(CFLAGS) -o $(AR_PROG) ar.o $(ADDL_LIBS) $(LOADLIBES)
 
 $(RANLIB_PROG): $(AR_PROG) 
        -rm -f $(RANLIB_PROG)
@@ -125,12 +103,36 @@ $(STRIP_PROG): $(COPY_PROG)
        -rm -f $(STRIP_PROG)
        -ln $(COPY_PROG) $(STRIP_PROG)
 
+stage1: force
+       - mkdir stage1
+       - mv -f *.o $(PROGS) stage1
+
+stage2: force
+       - mkdir stage2
+       - mv -f *.o $(PROGS) stage2
+
+stage3: force
+       - mkdir stage3
+       - mv -f *.o $(PROGS) stage3
+
+de-stage1: force
+       - (cd stage1 ; mv -f * ..)
+       - rmdir stage1
+
+de-stage2: force
+       - (cd stage2 ; mv -f * ..)
+       - rmdir stage2
+
+de-stage3: force
+       - (cd stage3 ; mv -f * ..)
+       - rmdir stage3
+
 clean:
        -rm -f *.o *~ \#* core $(PROGS) TAGS
 
 etags tags: TAGS
 
-TAGS: .force
+TAGS: force
        etags $(INCDIR)/*.h $(BFDSRC)/*.[hc] *.[hc]
 
 realclean: clean
@@ -169,8 +171,7 @@ ver960.c: FORCE
 
 # Dummy target to force execution of dependent targets.
 #
-.force:
-FORCE:
+force:
 
 # Target to uncomment host-specific lines in this makefile.  Such lines must
 # have the following string beginning in column 1: #__<hostname>__#
index 59f2c5d3e48e9e65198490efe8f38a8f79527b01..ff8f89fc0e0be55fe474f4977367b15fec31d677 100755 (executable)
--- a/configure
+++ b/configure
@@ -175,7 +175,7 @@ fi
 # script appropriate for this directory.  For more information, check
 # any existing configure script.
 
-configdirs="getopt bfd binutils ld gas gnulib1 gcc clib"
+configdirs="getopt bfd binutils ld gas gcc gnulib clib"
 srctrigger=README.configure
 srcname="gnu development package"
 
@@ -553,7 +553,10 @@ exit 0
 
 #
 # $Log$
-# Revision 1.8  1991/04/17 01:34:44  rich
+# Revision 1.9  1991/04/24 16:50:54  rich
+# Three staging checkpoint.
+#
+# Revision 1.7  1991/04/17  01:34:47  rich
 # Added getopt for binutils, fixed problem with host dependancies in
 # configure.template.
 #
index 3f94951365e0576ab9c4c556e0cba9a1eacc55c2..701ac61951ac53a75c8b87d0c9c9683ed77fc734 100644 (file)
@@ -3,7 +3,7 @@
 # script appropriate for this directory.  For more information, check
 # any existing configure script.
 
-configdirs="getopt bfd binutils ld gas gnulib1 gcc clib"
+configdirs="getopt bfd binutils ld gas gcc gnulib clib"
 srctrigger=README.configure
 srcname="gnu development package"
 
index feffed61311911920beb61475d409d37e95002aa..217f642c46e73074f31c757438bfcb4830230d7b 100644 (file)
@@ -126,7 +126,7 @@ HOST_LDFLAGS=$(LDFLAGS)
 HOST_CPPFLAGS=$(CPPFLAGS)
 
 # Choose the real default target.
-ALL=gas
+ALL=as
 
 # End of variables for you to override.
 
@@ -236,7 +236,7 @@ all: $(ALL)
 # Now figure out from those variables how to compile and link.
 
 # This is the variable actually used when we compile.
-ALL_CFLAGS = $(INTERNAL_CFLAGS) $(CFLAGS)
+ALL_CFLAGS = $(INTERNAL_CFLAGS) $(CFLAGS) $(HDEFINES) $(TDEFINES)
 
 # Even if ALLOCA is set, don't use it if compiling with GCC.
 USE_ALLOCA= `if [ x"${CC}" = x"${OLDCC}" ] ; then echo ${ALLOCA}; else true; fi`
@@ -277,7 +277,7 @@ SUBDIR_INCLUDES = -I.. -I../$(srcdir) -I../$(srcdir)/config
 \f
 # Files to be copied away after each stage in building.
 STAGE_GCC=gcc
-STAGESTUFF = *.o gas 
+STAGESTUFF = *.o as 
 
 # The files that "belong" in CONFIG_H are deliberately omitted
 # because having them there would not be useful in actual practice.
@@ -288,14 +288,14 @@ STAGESTUFF = *.o gas
 # CONFIG_H = config.h tm.h
 CONFIG_H =
 \f
-gas: $(OBJS) $(LIBDEPS)
-       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o gas $(OBJS) $(LIBS)
+as: $(OBJS) $(LIBDEPS)
+       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o as $(OBJS) $(LIBS) $(LOADLIBES)
 
 objdump:
 
 all.internal: native
 # This is what is made with the host's compiler if making a cross assembler.
-native: config.status gas
+native: config.status as
 
 config.status:
        @echo You must configure gas.  Look at the INSTALL file for details.
@@ -464,8 +464,8 @@ realclean: cleanconfig
 # Entry points `install', `includes' and `uninstall'.
 
 # Copy the files into directories where they will be run.
-install: gas
-       $(INSTALL_PROGRAM) gas $(libsubdir)/as
+install: as
+       $(INSTALL_PROGRAM) as $(libsubdir)/as
 
 # Create the installation directory.
 install-dir:
@@ -494,7 +494,7 @@ install-man: install-dir $(srcdir)/gcc.1 protoize.1 unprotoize.1
 # Cancel installation by deleting the installed files.
 uninstall:
        -rm -rf $(libsubdir)
-       -rm -rf $(bindir)/gas
+       -rm -rf $(bindir)/as
        -rm -rf $(mandir)/gas.$(manext)
 
 \f
@@ -503,48 +503,47 @@ uninstall:
 tags TAGS: force
        etags $(REAL_SOURCES) $(REAL_HEADERS) README Makefile config/*.[hc]
        
-bootstrap: gas force
+bootstrap: as force
        $(MAKE) stage1
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage1/ $(CFLAGS)" libdir=$(libdir) ALLOCA= gas
+       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage1/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as
        $(MAKE) stage2
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= gas
+       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as
        for i in *.o; do cmp $$i stage2/$$i; done
 
 bootstrap2: force
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage1/ $(CFLAGS)" libdir=$(libdir) ALLOCA= gas
+       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage1/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as
        $(MAKE) stage2
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= gas
+       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as
        $(MAKE) stage-last
 
 bootstrap3: force
-       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= gas
+       $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage2/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as
        $(MAKE) comparison
 
 # Copy the object files from a particular stage into a subdirectory.
 stage1: force
        -mkdir stage1
        -mv $(STAGESTUFF) stage1
-       -(cd stage1 ; ln -s gas as)
 
 stage2: force
        -mkdir stage2
        -mv $(STAGESTUFF) stage2
-       -(cd stage2 ; ln -s gas as)
-
 
 stage3: force
        -mkdir stage3
-       -mv $(STAGESTUFF) $(STAGE_GCC) stage3
-       -rm -f stage3/gnulib
-       -cp gnulib stage3
-       -if $(RANLIB_TEST) ; then $(RANLIB) stage3/gnulib; else true; fi
+       -mv $(STAGESTUFF) stage3
 
-stage4: force
-       -mkdir stage4
-       -mv $(STAGESTUFF) $(STAGE_GCC) stage4
-       -rm -f stage4/gnulib
-       -cp gnulib stage4
-       -if $(RANLIB_TEST) ; then $(RANLIB) stage4/gnulib; else true; fi
+de-stage1: force
+       - (cd stage1 ; mv -f * ..)
+       - rmdir stage1
+
+de-stage2: force
+       - (cd stage2 ; mv -f * ..)
+       - rmdir stage2
+
+de-stage3: force
+       - (cd stage3 ; mv -f * ..)
+       - rmdir stage3
 
 stage-last:
        for i in *.o; do cmp $$i stage2/$$i; done
@@ -585,11 +584,11 @@ risky-stage4: force
 .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
 
 comparison: clean
-       $(MAKE) "CC=/usr/local/bin/gcc -Wall" gas
+       $(MAKE) "CC=/usr/local/bin/gcc -Wall" as
        $(MAKE) stage1
-       - $(MAKE) "CC=/usr/local/bin/gcc -Wall -b$(target) -Bstage1/" gas -k
+       - $(MAKE) "CC=/usr/local/bin/gcc -Wall -b$(target) -Bstage1/" as -k
        $(MAKE) stage2
-       - $(MAKE) "CC=/usr/local/bin/gcc -Wall -b$(target)" gas -k
+       - $(MAKE) "CC=/usr/local/bin/gcc -Wall -b$(target)" as -k
        $(MAKE) stage-last
 
 force: