From 6a3958b22d9bb9e23d03ba1e4c20a5cde0be747f Mon Sep 17 00:00:00 2001 From: "K. Richard Pixley" Date: Wed, 24 Apr 1991 16:52:32 +0000 Subject: [PATCH] Three staging checkpoint. --- Makefile.in | 94 ++++++++++++++++++++++++++++---------------- binutils/Makefile.in | 67 +++++++++++++++---------------- configure | 7 +++- configure.in | 2 +- gas/Makefile.in | 61 ++++++++++++++-------------- 5 files changed, 131 insertions(+), 100 deletions(-) diff --git a/Makefile.in b/Makefile.in index a98a2d5a0bf..2f175b31584 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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. # diff --git a/binutils/Makefile.in b/binutils/Makefile.in index f4e7f984e78..82926542c2b 100644 --- a/binutils/Makefile.in +++ b/binutils/Makefile.in @@ -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 + # ## 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 # @@ -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: #____# diff --git a/configure b/configure index 59f2c5d3e48..ff8f89fc0e0 100755 --- 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. # diff --git a/configure.in b/configure.in index 3f94951365e..701ac61951a 100644 --- a/configure.in +++ b/configure.in @@ -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" diff --git a/gas/Makefile.in b/gas/Makefile.in index feffed61311..217f642c46e 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -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 # 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 = -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) @@ -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: -- 2.30.2