X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=Makefile.in;h=2f175b315845dd99075548c2313950e22ec87f08;hb=b99f250bf9b29c4a09c75480522140e219b26537;hp=2747b7595c5f1681a6d2b5e8630d370279e4fe60;hpb=74cc5508e7f605763b9f48bd6eff2530fcacd080;p=deliverable%2Fbinutils-gdb.git diff --git a/Makefile.in b/Makefile.in index 2747b7595c..2f175b3158 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,89 +1,102 @@ # -# Makefile for development tools. +# Makefile for directory with subdirs to build. # -# Last Mod Mon Apr 8 22:31:28 PDT 1991, by rich@sendai +# Last Mod Thu Apr 18 17:41:48 PDT 1991, by rich@cygint.cygnus.com # -srcdir = . -#subdir = Host-$(host)/Target-$(target) +# $Id$ -OSLAYER = clib/os-layer -OSINCLUDE = $(OSLAYER)/include +srcdir = . +destdir = /usr/local #CC = gcc -b$(target) # -B$(srcdir)/../gas/Host-$(host)/Target-$(target)/ -#CFLAGS = -g -nostdinc -nostdlib -I- -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 +#CFLAGS = -g -nostdinc -nostdlib -I- -I/usr/local/lib/gcc/$(target)/1.92/include -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE) -TARGETLIB = libc.a 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. +### -all: $(TARGETLIB) +all: + $(MAKE) subdir_do DO=all "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)" -subdir_do: $(SUBDIRS) $(TARGETDIRS) - for i in $(SUBDIRS); \ +subdir_do: $(DODIRS) + for i in $(DODIRS); \ do \ if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \ - then echo .$(target) ; fi`/$(subdir); \ - $(MAKE) \ - "OSLAYER=../$(OSLAYER)" \ - "TARGETLIB=../$(srcdir)/$(subdir)/$(TARGETLIB)" \ - "AR=$(AR)" "AR_FLAGS=$(AR_FLAGS)" \ + then echo .$(target) ; fi`$(subdir); \ + $(MAKE) \ + "destdir=$(destdir)" \ + "AR=$(AR)" \ + "AR_FLAGS=$(AR_FLAGS)" \ "RANLIB=$(RANLIB)" $(DO)) ; \ then true ; \ else exit 1 ; \ fi ;\ done -$(TARGETLIB): FORCE - @$(MAKE) subdir_do "DO=all" -# $(RANLIB) $(TARGETLIB) - -oldlibc.a: $(SUBDIRS) FORCE - @$(MAKE) subdir_do DO=all - rm -rf TEMP - mkdir TEMP -# Extract files from all subdirs, making sure that none overwrites others. - cd TEMP; for i in $(SUBDIRS); do\ - ar x ../$$i/library.a;\ - chmod a-w *;\ - done; -# Be sure if interrupted, no libc.a exists. - rm -f libc.new - cd TEMP; ar cq ../libc.new * - ranlib libc.new - mv libc.new libc.a - rm -rf TEMP +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 - -install: all install_include install_crt install_gnulib install_lib - -# 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 + $(MAKE) subdir_do DO=clean "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)" -install_include: - $(MAKE) SUBDIRS=$(SUBDIRS_INCLUDE) DO=install_include - -install_lib: libc.a - cp libc.a $(DESTDIR)/lib/libc.a +install: + $(MAKE) subdir_do DO=install "DODIRS=$(BOOTSTRAPPABLE) $(OTHERS)" etags tags: TAGS @@ -108,15 +121,41 @@ FORCE: # with the gnu make, this is done automatically. Makefile: $(srcdir)/Makefile.in $(srcdir)/configure - (cd $(srcdir) ; configure -srcdir=$(srcdir) -host=$(host) $(target) -norecurse) + (cd $(srcdir) ; \ + ./configure +destdir=$(destdir) +norecurse \ + `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \ + $(host) +target=$(target)) # # $Log$ -# Revision 1.2 1991/04/09 23:52:40 rich -# First cut config. builds in place. +# 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. +# +# Revision 1.8 1991/04/15 23:43:45 rich +# Now handles multiple hosts and targets. +# +# Revision 1.7 1991/04/13 13:06:16 tiemann +# Don't depend `install' on `all'. Actually, the way things work, all +# depends on things being incrementally installed, and install depends +# on everything happening in a topological fashion. +# +# This will need to be worked on further, but for now it's ok. +# +# Revision 1.6 1991/04/13 10:04:14 rich +# Now can build gas for a29k on a29k. +# +# Revision 1.5 1991/04/13 07:40:41 rich +# Fixed an ordering bug. Now everything is built, and then installed. +# +# Revision 1.4 1991/04/13 02:11:09 rich +# Config cut 3. We now almost install a29k. # -# Revision 1.1 1991/04/04 18:56:39 rich -# Initial revision +# Revision 1.3 1991/04/11 02:41:53 rich +# Cut 2 config. Subdirs. # # #