* values.c, value.h: New functions value_{headof,from_vtable_info}.
[deliverable/binutils-gdb.git] / Makefile.in
index 2747b7595c5f1681a6d2b5e8630d370279e4fe60..2f175b315845dd99075548c2313950e22ec87f08 100644 (file)
 #
-# 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.
 #
 #
 #
This page took 0.033341 seconds and 4 git commands to generate.