old-cross-binutils/ld/Makefile.in
1991-09-03 21:14:14 +00:00

283 lines
7.3 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# Makefile for ld version 2
#
# $Id$
#
srcdir = .
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
BISON = bison
BISONFLAGS = -v
SCRIPTS = ldgld68k.sc ldgld68kUr.sc ldgld68kr.sc \
ldgld.sc ldgldUr.sc ldgldr.sc ldlnk960.sc \
ldlnk960r.sc ldgld960.sc \
ldm88k.sc ldm88kUr.sc ldm88kr.sc \
ldglda29k.sc ldglda29kUr.sc ldglda29kr.sc
PROCESSED_SCRIPTS = ldgld68k.x ldgld68kUr.x ldgld68kr.x ldgld.x \
ldgldUr.x ldgldr.x ldlnk960.x ldlnk960r.x ldgld960.x \
ldm88k.x ldm88kUr.x ldm88kr.x \
ldglda29k.x ldglda29kUr.x ldglda29kr.x
#### target and host dependent Makefile fragments come in here.
###
CFLAGS = $(INCLUDES) $(DEBUG) $(HDEFINES) $(TDEFINES) $(CDEFINES)
LINTFLAGS = $(INCLUDES) $(EXTRA_DEF)
.SUFFIXES: .y .x .sc $(SUFFIXES)
# 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.
LD_PROG = ld.new
.sc.x:
./mkscript < $< >$*.x
# for self hosting
GNUTARGET=a.out-sunos-big
LDEMULATION=gld
BFDLIB=$(srcdir)/../bfd$(subdir)/libbfd.a
LIBIBERTY=$(srcdir)/../libiberty$(subdir)/libiberty.a
OFILES= ldgram.o ldlex.o ldlang.o ldmain.o ldwarn.o ldwrite.o ldexp.o ldlnk960.o ldgld68k.o ldindr.o \
ldm88k.o ldglda29k.o \
ldgld.o ldgld960.o ldemul.o ldver.o ldmisc.o ldsym.o ldvanilla.o ldfile.o
HEADERS=config.h ldmain.h ldmain.h ldwarn.h ldmisc.h ldindr.h ldsym.h ldlang.h ldexp.h \
ldlex.h ldwrite.h ldver.h ldemul.h ldfile.h ldgram.h ld.h
MANSOURCES=ld.tex
LDCSOURCES=ldlang.c ldindr.c ldmain.c ldwrite.c ldwarn.c ldlnk960.c ldgld.c ldgld68k.c \
ldm88k.c ldgld29k.c \
ldgld960.c ldemul.c ldver.c ldmisc.c ldexp.c ldsym.c ldfile.c ldvanilla.c
GENERATED_SOURCES=ldgram.c ldlex.c ldgram.h
GENERATED_HEADERS=ldgram.h
LDSOURCES=$(LDCSOURCES) ldgram.y ldlex.l ldgram.h
BFDSOURCES=../../bfd/common/*.c
SOURCES= $(LDSOURCES) $(BFDSOURCES)
LINTSOURCES= $(LDCSOURCES) $(BFDSOURCES) $(GENERATED_SOURCES)
STAGESTUFF = $(GENERATED_SOURCES) $(GENERATED_HEADERS) $(PROCESSED_SCRIPTS) $(OFILES) $(LD_PROG) mkscript
all: Makefile $(PROCESSED_SCRIPTS) $(LD_PROG)
$(PROCESSED_SCRIPTS): mkscript $(SCRIPTS)
ldgram.c:ldgram.y
$(BISON) $(BISONFLAGS) -d $(VPATH)/ldgram.y -o ldgram.c
ldlex.c:ldlex.l
lex -t $(VPATH)/ldlex.l >ldlex.c
#$(BFDLIB): $(BFDSOURCES)
# (cd ../bfd; make)
$(LD_PROG): $(OFILES) $(BFDLIB) $(LIBIBERTY)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(LD_PROG) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(LOADLIBES)
# (cd ../bfd; make)
# LDEMULATION=gld; export LDEMULATION; GNUTARGET=a.out-sunos-big;./ldok -format a.out-sunos-big -o ld /lib/crt0.o $(OFILES) $(BFDLIB) $(LIBIBERTY) -lc /usr/local/lib/gcc/sparc/1.91/gnulib
# gld -o ld /lib/crt0.o $(OFILES) $(BFDLIB) $(LIBIBERTY) -lc /usr/local/lib/gcc/sparc/1.91/gnulib
# $(CC) -Bstatic -o ld.new $(OFILES) $(BFDLIB) $(LIBIBERTY)
ld1: ld.new
$(HOSTING_EMU); ./ld.new -o ld1 $(HOSTING_CRT0) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(HOSTING_LIBS)
ld2: ld1
$(HOSTING_EMU); ./ld1 -o ld2 $(HOSTING_CRT0) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(HOSTING_LIBS)
ld3: ld2
$(HOSTING_EMU); ./ld2 -o ld3 $(HOSTING_CRT0) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(HOSTING_LIBS)
ld.dvi:ld.tex
tex ld.tex
mkscript: $(srcdir)/mkscript.c
$(CC) $(CFLAGS) $(LDFLAGS) -o mkscript $(srcdir)/mkscript.c $(LOADLIBES)
ldgld.o: $(PROCESSED_SCRIPTS) ldgld.c
ldlex.c: ldlex.l ldgram.h
ldlex.o: ldlex.c ldgram.h
ldgram.o: ldgram.c
ldgram.c:ldgram.y
ldgld68k.x :ldgld68k.sc
ldgld68kUr.x :ldgld68kUr.sc
ldgld68kr.x :ldgld68kr.sc
ldgld.x :ldgld.sc
ldgldUr.x :ldgldUr.sc
ldgldr.x :ldgldr.sc
ldlnk960.x :ldlnk960.sc
ldlnk960r.x :ldlnk960r.sc
ldgld960.x :ldgld960.sc
ldgldm88k.x :ldgldm88k.sc
ldm88kUr.x :ldm88kUr.sc
ldm88kr.x:ldm88kr.sc
ldgld68k.x:ldgld68k.sc
ldglda29k.x :ldglda29k.sc
ldglda29kr.x :ldglda29kr.sc
ldglda29kUr.x :ldglda29kUr.sc
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)
against=stage2
comparison: force
for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done
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 $(PROCESSED_SCRIPTS)
- rm -f ld ld1 ld2 ld3 ld.new mkscript *.o y.output
lintlog:$(SOURCES) Makefile
$(LINT) -abhxzn $(LINTFLAGS) $(LINTSOURCES) \
| grep -v "pointer casts may be troublesome" \
| grep -v "possible pointer alignment problem" \
| grep -v "ignore" \
| grep -v "conversion from long may lose accuracy" \
| grep -v "warning: constant argument to NOT" \
| grep -v "enumeration type clash, operator CAST" \
| grep -v "warning: constant in conditional context"\
| grep -v "archive\.c"
tags TAGS:$(SOURCES) $(HEADERS)
etags -t $?
release:
(cd /4/steve/ld; tar cf - $(LDSOURCES) $(HEADERS) $(MANSOURCES)) | tar xf -
objdump:objdump.c
install: $(LD_PROG)
$(INSTALL_PROGRAM) ld.new $(libsubdir)/ld
#-----------------------------------------------------------------------------
# 'STANDARD' GNU/960 TARGETS BELOW THIS POINT
#
# 'VERSION' file must be present and contain a string of the form "x.y"
#-----------------------------------------------------------------------------
ver960.c: FORCE
rm -f ver960.c
echo "char ${TARG}_ver[]= \"${TARG} `cat VERSION`, `date`\";" > ver960.c
# This target should be invoked before building a new release.
# 'VERSION' file must be present and contain a string of the form "x.y"
#
roll:
@V=`cat VERSION` ; \
MAJ=`sed 's/\..*//' VERSION` ; \
MIN=`sed 's/.*\.//' VERSION` ; \
V=$$MAJ.`expr $$MIN + 1` ; \
rm -f VERSION ; \
echo $$V >VERSION ; \
echo Version $$V
dep: $(LDSOURCES) $(PROCESSED_SCRIPTS)
mkdep $(CFLAGS) $?
# Dummy target to force execution of dependent targets.
#
force:
# Target to uncomment host-specific lines in this makefile. Such lines must
# have the following string beginning in column 1: #__<hostname>__#
# Original Makefile is backed up as 'Makefile.old'.
#
# Invoke with: make make HOST=xxx
#
make:
-@if test $(HOST)x = x ; then \
echo 'Specify "make make HOST=???"'; \
exit 1; \
fi ; \
grep -s "^#The next line was generated by 'make make'" Makefile; \
if test $$? = 0 ; then \
echo "Makefile has already been processed with 'make make'";\
exit 1; \
fi ; \
mv -f Makefile Makefile.old; \
echo "#The next line was generated by 'make make'" >Makefile ; \
echo "HOST=$(HOST)" >>Makefile ; \
echo >>Makefile ; \
sed "s/^#__$(HOST)__#//" < Makefile.old >>Makefile
#
Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
(cd $(srcdir) ; \
./configure +destdir=$(destdir) \
+norecurse \
`if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
$(host) +target=$(target))
### Local Variables: ***
### mode:fundamental ***
### page-delimiter: "^# " ***
### End: ***
### end of file
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY