Add Vax-BSD and Tahoe-BSD support.
[deliverable/binutils-gdb.git] / Makefile.in
index 29e2490e21cb28fbe303c863a409496b51c39cf0..80a40aabc2b747d5647654ff5eebc292be7cdd59 100644 (file)
 #
-# Makefile for development tools.
+# Makefile for directory with subdirs to build.
 #
-# Last Mod Tue Apr 2 16:57:52 PST 1991, by rich@sendai
+# Last Mod Sat May 18 17:24:38 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.
+#CFLAGS = -g -nostdinc -nostdlib -I- -I/usr/local/lib/gcc/$(target)/1.92/include -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE)
 
-SUBDIRS =
-NONSUBDIRS =
-SUBDIRS_INCLUDE = machine-dep
-
-TARGETLIB = libc.a
 RANLIB = ranlib
-AR = ar cqv
+AR = ar
+AR_FLAGS = cqv
+
+SUBDIRS = libiberty 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=$(SUBDIRS) $(OTHERS)"
 
-subdir_do: $(SUBDIRS) $(TARGETDIRS)
-       for i in $(SUBDIRS); \
+subdir_do: force
+       for i in $(DODIRS); \
          do \
+       if [ -d $(srcdir)/$$i -o -d $(srcdir)/$$i.$(target) ] ; then \
            if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \
-               then echo .$(target) ; fi`/$(subdir); \
-               $(MAKE)  \
-                   "OSLAYER=../$(OSLAYER)" \
-                   "TARGETLIB=../$(srcdir)/$(subdir)/$(TARGETLIB)" \
+               then echo .$(target) ; fi`$(subdir); \
+               $(MAKE) \
+                   "destdir=$(destdir)" \
                    "AR=$(AR)" \
+                   "AR_FLAGS=$(AR_FLAGS)" \
                    "RANLIB=$(RANLIB)" $(DO)) ; \
            then true ; \
            else exit 1 ; \
            fi ;\
+       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=$(SUBDIRS)" \
+               "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=$(SUBDIRS)"
+
+stage2:
+       $(MAKE) subdir_do DO=stage2 "DODIRS=$(SUBDIRS)"
+
+stage3:
+       $(MAKE) subdir_do DO=stage3 "DODIRS=$(SUBDIRS)"
+
+stage4:
+       $(MAKE) subdir_do DO=stage4 "DODIRS=$(SUBDIRS)"
+
+de-stage1:; $(MAKE) subdir_do DO=de-stage1 "DODIRS=$(SUBDIRS)"
+de-stage2:; $(MAKE) subdir_do DO=de-stage2 "DODIRS=$(SUBDIRS)"
+de-stage3:; $(MAKE) subdir_do DO=de-stage3 "DODIRS=$(SUBDIRS)"
+de-stage4:; $(MAKE) subdir_do DO=de-stage4 "DODIRS=$(SUBDIRS)"
 
 clean:
        rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E
-       $(MAKE) subdir_do DO=clean
+       $(MAKE) subdir_do DO=clean "DODIRS=$(SUBDIRS) $(OTHERS)"
 
-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
-
-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=$(SUBDIRS) $(OTHERS)"
 
 etags tags: TAGS
 
@@ -102,17 +118,52 @@ ls:
                        done) \
        done
 
-FORCE:
+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.1  1991/04/04 18:56:39  rich
-# Initial revision
+# Revision 1.12  1991/05/19 00:36:44  rich
+# Added gdb.
+#
+# Revision 1.11  1991/05/03  21:30:41  gnu
+# Rename getopt to libiberty.
+#
+# 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.3  1991/04/11  02:41:53  rich
+# Cut 2 config.  Subdirs.
 #
 #
 #
This page took 0.032716 seconds and 4 git commands to generate.