Three staging checkpoint.
This commit is contained in:
parent
b039ac3a20
commit
6a3958b22d
5 changed files with 132 additions and 101 deletions
94
Makefile.in
94
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)/"
|
||||
|
||||
|
||||
stage1:
|
||||
$(MAKE) subdir_do DO=stage1 "DODIRS=$(BOOTSTRAPPABLE)"
|
||||
|
||||
stage2:
|
||||
$(MAKE) subdir_do DO=stage2 "DODIRS=$(BOOTSTRAPPABLE)"
|
||||
|
||||
stage3:
|
||||
$(MAKE) subdir_do DO=stage3 "DODIRS=$(BOOTSTRAPPABLE)"
|
||||
|
||||
stage4:
|
||||
$(MAKE) subdir_do DO=stage4 "DODIRS=$(BOOTSTRAPPABLE)"
|
||||
|
||||
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
|
||||
$(MAKE) subdir_do DO=clean "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)"
|
||||
|
||||
install:
|
||||
$(MAKE) subdir_do DO=install
|
||||
|
||||
# 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
|
||||
|
||||
install_gnulib:
|
||||
$(MAKE) SUBDIRS=gnulib DO=install_gnulib
|
||||
|
||||
install_include:
|
||||
$(MAKE) SUBDIRS=$(SUBDIRS_INCLUDE) DO=install_include
|
||||
|
||||
install_lib: libc.a
|
||||
cp libc.a $(DESTDIR)/lib/libc.a
|
||||
$(MAKE) subdir_do DO=install "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)"
|
||||
|
||||
etags tags: TAGS
|
||||
|
||||
|
@ -103,6 +128,9 @@ Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
|
|||
|
||||
#
|
||||
# $Log$
|
||||
# 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.
|
||||
|
|
|
@ -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: #__<hostname>__#
|
||||
|
|
7
configure
vendored
7
configure
vendored
|
@ -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.
|
||||
#
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue