* values.c, value.h: New functions value_{headof,from_vtable_info}.
[deliverable/binutils-gdb.git] / ld / Makefile.in
index ca22ac30f0c9b824a23a07faeae330d521a3f9a9..44f96092f4cec22c97436dddc16ed34cfa1f0da1 100644 (file)
 
 srcdir = .
 
-BASEDIR = $(srcdir)/..
-BFDDIR = $(BASEDIR)/bfd
-INCLUDE        = $(BASEDIR)/include-cygnus
-INCLUDES = -I. -I$(srcdir) -I$(INCLUDE) -I$(BFDDIR)
+destdir = /usr/local
+
+version=`$(srcdir)/../gcc$(subdir)/gcc -dumpversion`
+prefix = $(destdir)
+bindir = $(prefix)/bin
+libdir = $(prefix)/lib
+libsubdir = $(libdir)/gcc/$(target)/$(version)
+
+INSTALL = install -c
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_FILE = $(INSTALL)
+
+BASEDIR        = ../..
+INCLUDE        = $(srcdir)/../include
+INCLUDES = -I. -I$(srcdir)  -I$(INCLUDE) 
 DEBUG  = -g
-CFLAGS = $(INCLUDES) $(DEBUG) 
+
+SCRIPTS = ld-gld68k.script ld-gld68k-Ur.script ld-gld68k-r.script \
+       ld-gld.script ld-gld-Ur.script ld-gld-r.script ld-lnk960.script \
+       ld-lnk960-r.script ld-gld960.script \
+       ld-gldm88kbcs.script ld-gldm88kbcs-Ur.script ld-gldm88kbcs-r.script
+
+PROCESSED_SCRIPTS = ld-gld68k.x ld-gld68k-Ur.x ld-gld68k-r.x ld-gld.x \
+       ld-gld-Ur.x ld-gld-r.x ld-lnk960.x ld-lnk960-r.x ld-gld960.x \
+       ld-gldm88kbcs.x ld-gldm88kbcs-Ur.x ld-gldm88kbcs-r.x
+
+#### target and host dependent Makefile fragments come in here.
+###
+
+CFLAGS = $(INCLUDES) $(DEBUG) $(HDEFINES) $(TDEFINES) $(CDEFINES)
+LINTFLAGS =  $(INCLUDES) $(EXTRA_DEF) 
+
+.SUFFIXES: .y .x .script $(SUFFIXES)
+
+.y.o:
+       $(YACC) $<
+       mv y.tab.c ldgram.tab.c
+       $(CC) -c $(CFLAGS) ldgram.tab.c
+       mv ldgram.tab.o ldgram.o
 
 # go directly to ld.new in case this ld isn't capable of
 # linking native object on this host.  It can be renamed on
 # install.
-PROGS  = ld.new
+LD_PROG        = ld.new
+
+.script.x:
+       mkscript < $< >$*.x
 
 # for self hosting
 GNUTARGET=a.out-generic-big
 LDEMULATION=gld
-bfdlib=$(BASEDIR)/bfd/Host-$(host)/libbfd.a
+BFDLIB=$(srcdir)/../bfd$(subdir)/libbfd.a
 
-OBJS= ldgram.o ldlex.o ldlang.o ldmain.o ldwrite.o ldexp.o ld-lnk960.o \
-       ld-gld.o ld-gld960.o ld-emul.o ldversion.o ldmisc.o ldsym.o ldfile.o
+OFILES= ldgram.o ldlex.o ldlang.o ldmain.o ldwrite.o ldexp.o ld-lnk960.o ld-gld68k.o \
+       ld-gldm88kbcs.o \
+       ld-gld.o ld-gld960.o ld-emul.o ldversion.o ldmisc.o ldsym.o ld-vanilla.o ldfile.o
 
 HEADERS=config.h ldmain.h ldmain.h ldmisc.h ldsym.h ldlang.h ldexp.h \
        ldlex.h ldwrite.h ldversion.h ld-emul.h ldfile.h ldgram.h ld.h
 
 MANSOURCES=ld.tex
 
-LDCSOURCES=ldlang.c ldmain.c ldwrite.c ld-lnk960.c ld-gld.c \
-       ld-gld960.c ld-emul.c ldversion.c ldmisc.c ldexp.c ldsym.c ldfile.c
+LDCSOURCES=ldlang.c ldmain.c ldwrite.c ld-lnk960.c ld-gld.c ld-gld68k.c \
+       ld-gldm88kbcs.c \
+       ld-gld960.c ld-emul.c ldversion.c ldmisc.c ldexp.c ldsym.c ldfile.c ld-vanilla.c
 
 GENERATED_SOURCES=ldgram.tab.c ldlex.c ldgram.tab.h y.tab.h
 GENERATED_HEADERS=ldgram.tab.h
 
 LDSOURCES=$(LDCSOURCES) ldgram.y ldlex.l
 
-#BFDSOURCES=../bfd/libbfd.c ../bfd/bfd.c  ../bfd/sunos.c ../bfd/icoff.c ../bfd/b.out.c   ../bfd/archive.c  ../bfd/srec.c
+BFDSOURCES=../../bfd/common/*.c
 
 SOURCES= $(LDSOURCES) $(BFDSOURCES)
 LINTSOURCES=   $(LDCSOURCES) $(BFDSOURCES) $(GENERATED_SOURCES)
 
-all: $(PROGS)
+STAGESTUFF = $(GENERATED_SOURCES) $(GENERATED_HEADERS) $(PROCESSED_SCRIPTS) $(OFILES) $(LD_PROG) mkscript
 
-$(PROGS): $(OBJS)
+all: Makefile $(PROCESSED_SCRIPTS) $(LD_PROG)
+
+$(PROCESSED_SCRIPTS): mkscript $(SCRIPTS)
+
+
+#$(BFDLIB): $(BFDSOURCES)
 #      (cd ../bfd; make)
-#      LDEMULATION=gld; export LDEMULATION;  GNUTARGET=a.out-generic-big;./ldok -format a.out-generic-big  -o ld /lib/crt0.o   $(OBJS) $(bfdlib) -lc /usr/local/lib/gcc/sparc/1.91/gnulib
-#      gld -o ld /lib/crt0.o   $(OBJS) $(bfdlib) -lc /usr/local/lib/gcc/sparc/1.91/gnulib
-       $(CC) -Bstatic -o ld.new $(OBJS) $(bfdlib)
 
+$(LD_PROG): $(OFILES) $(BFDLIB)
+       $(CC) $(CFLAGS) -o $(LD_PROG) $(OFILES) $(BFDLIB)
 
-ld1: ld
-       gcc -v  -B./ -o ld1  $(OBJS) $(bfdlib)
+#      (cd ../bfd; make)
+#      LDEMULATION=gld; export LDEMULATION;  GNUTARGET=a.out-generic-big;./ldok -format a.out-generic-big  -o ld /lib/crt0.o   $(OFILES) $(BFDLIB) -lc /usr/local/lib/gcc/sparc/1.91/gnulib
+#      gld -o ld /lib/crt0.o   $(OFILES) $(BFDLIB) -lc /usr/local/lib/gcc/sparc/1.91/gnulib
+#      $(CC) -Bstatic -o ld.new $(OFILES) $(BFDLIB)
+
+
+ld1: ld.new
+       $(HOSTING_EMU); ./ld.new -o ld1 $(HOSTING_CRT0) $(OFILES) $(BFDLIB) $(HOSTING_LIBS)
 
 ld2: ld1
-       mv ld1 ld
-       gcc -v  -B./ -o ld2  $(OBJS) $(bfdlib)
+       $(HOSTING_EMU); ./ld1 -o ld2 $(HOSTING_CRT0) $(OFILES) $(BFDLIB) $(HOSTING_LIBS)
 
 ld3: ld2
-       mv ld2 ld
-       gcc -v  -B./ -o ld3  $(OBJS) $(bfdlib)
+       $(HOSTING_EMU); ./ld2 -o ld3 $(HOSTING_CRT0) $(OFILES) $(BFDLIB) $(HOSTING_LIBS)
 
 ld.dvi:ld.tex
        tex ld.tex
 
-ldgram.o:ldgram.y
-       yacc -d $(srcdir)/ldgram.y
-       mv y.tab.c ldgram.tab.c
-       $(CC) -c $(CFLAGS) ldgram.tab.c
-       mv ldgram.tab.o ldgram.o
+mkscript: mkscript.c
 
-ldgram.tab.h:ldgram.o 
+ldgram.o: ldgram.y
+ldgram.tab.h:ldgram.y
        cp y.tab.h ldgram.tab.h
-       
+
+ld-gld.o: $(PROCESSED_SCRIPTS) ld-gld.c 
+
 ldlex.c: ldlex.l ldgram.tab.h
 ldlex.o: ldlex.c ldgram.tab.h
 
@@ -84,21 +129,53 @@ ldversion.o: ldversion.c
 ldfile.o: ldfile.c
 ldwrite.o: ldwrite.c
 ldlang.o: ldlang.c ldgram.tab.h
-ld-gld.o: ld-gld.c
-ld-gld960.o: ld-gld960.c
-ld-emul.o:ld-emul.c
-ld-lnk960.o:ld-lnk960.c
-ldexp.o:ldexp.c ldgram.tab.h
-ldmisc.o:ldmisc.c 
-ldsym.o:ldsym.c 
 
-clean:
-       - rm -f $(OBJS) $(GENERATED_SOURCES) $(GENERATED_HEADERS)
-       - rm -f ld ld1 ld2
+ld-gld68k.o: $(PROCESSED_SCRIPTS) ld-gld68k.c
+ld-gld960.o: $(PROCESSED_SCRIPTS) ld-gld960.c
+ld-gldm88kbcs.o: $(PROCESSED_SCRIPTS) ld-gldm88kbcs.c
+ld-emul.o: ld-emul.c
+ld-vanilla.o: ld-vanilla.c
+ld-lnk960.o: $(PROCESSED_SCRIPTS) ld-lnk960.c
+ldexp.o: ldexp.c ldgram.tab.h
+ldmisc.o: ldmisc.c 
+ldsym.o: ldsym.c 
+
+stage1:        force
+       - mkdir stage1
+       - mv -f $(STAGESTUFF) stage1
+       - (cd stage1 ; ln -s $(LD_PROG) ld)
+
+stage2:        force
+       - mkdir stage2
+       - mv -f $(STAGESTUFF) stage2
+       - (cd stage2 ; ln -s $(LD_PROG) ld)
+
+stage3:        force
+       - mkdir stage3
+       - mv -f $(STAGESTUFF) stage3
+       - (cd stage3 ; ln -s $(LD_PROG) ld)
+
+de-stage1: force
+       - (cd stage1 ; mv -f * ..)
+       - rm ld
+       - rmdir stage1
+
+de-stage2: force
+       - (cd stage2 ; mv -f * ..)
+       - rm ld
+       - rmdir stage2
+
+de-stage3: force
+       - (cd stage3 ; mv -f * ..)
+       - rm ld
+       - rmdir stage3
 
+clean:
+       - rm -f TAGS $(OFILES) $(GENERATED_SOURCES) $(GENERATED_HEADERS)
+       - rm -f ld ld1 ld2 ld3 ld.new mkscript *.o y.output
 
 lintlog:$(SOURCES) Makefile
-       $(LINT) -abhxzn  $(CFLAGS)  $(LINTSOURCES) \
+       $(LINT) -abhxzn  $(LINTFLAGS)  $(LINTSOURCES) \
 | grep -v "pointer casts may be troublesome" \
 | grep -v "possible pointer alignment problem" \
 | grep -v "ignore" \
@@ -117,9 +194,8 @@ release:
 
 objdump:objdump.c 
 
-install: $(PROGS)
-       rm -f $G960BASE/bin/$(PROGS)
-       cp $(PROGS) $$G960BASE/bin/gld960c
+install: $(LD_PROG)
+       $(INSTALL_PROGRAM) ld.new $(libsubdir)/ld
 
 #-----------------------------------------------------------------------------
 #              'STANDARD' GNU/960 TARGETS BELOW THIS POINT
@@ -146,8 +222,7 @@ roll:
 
 # 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>__#
@@ -174,7 +249,11 @@ make:
 #\f
 
 Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
-       (cd $(srcdir) ; configure -host=$(host) $(target))
+       (cd $(srcdir) ; \
+               ./configure +destdir=$(destdir) \
+               +norecurse \
+               `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
+               $(host) +target=$(target))
 
 ### Local Variables: ***
 ### mode:fundamental ***
This page took 0.024856 seconds and 4 git commands to generate.