binutils-gdb/binutils/Makefile.in

190 lines
4.5 KiB
Makefile
Raw Normal View History

1991-04-04 18:37:36 +00:00
### Makefile for GNU binary-file utilities
#$Id$
## Configuration options
# These should be all you need set before compiling
# these two should be the same program
AR=ar
RANLIB=ranlib
# copy and strip should be the same program
COPY=copy
STRIP=strip
# These should all be the same program too.
SIZE=size
NM=nm
OBJDUMP=objdump
PROGS = $(SIZE) $(COPY) $(OBJDUMP) $(NM) $(AR) $(STRIP) $(RANLIB)
srcdir = .
BASEDIR = $(srcdir)/../..
# Let rich do this for now:
LIBDIR = $(BASEDIR)/bfd/$(HOST)
#__sun3__#DEFINES=-DHOST_SYS=SUN3_SYS
#__sun3__#LDFLAGS = -Bstatic
#__sun4__#DEFINES=-DHOST_SYS=SUN4_SYS
#__sun4__#LDFLAGS = -Bstatic
#__sun386i__#LDFLAGS = -Bstatic
#__rs6000__#DEFINES=-Daix
#__rs6000__#ALLOCA = alloca.o
#__i386v__#ALLOCA = alloca.o
#__i386v__#DEFINES=-DUSG
INCDIR = $(BASEDIR)/include-cygnus
CFLAGS = -g -I$(INCDIR) $(DEFINES)
bindir=$(BASEDIR)/bin
DISASMS = m68k-pinsn.o i960-pinsn.o sparc-pinsn.o
#
## Random definitions
# Hopefully all these may be flushed once we get configuration down pat.
# alloca only needed for systems which don't have it and when cc != gcc.
# ALLOCA = alloca.o
# nm tries to malloc enough space for the string table. The old GNU malloc
# rounds this up to a power of two (e.g. 5M becomes 8M), and so it might
# fail unnecessarily. I've also seen some Unix malloc's fail, even when
# there is enough memory. So use the new GNU malloc.
# MALLOC = gmalloc.o
# Use the GNU getopt unless you have problems with it.
# The IRIS version could probably benefit from being assembled with
# libmalloc rather than the ordinary malloc.
GNU_GETOPT = getopt.o $(ALLOCA)
GNU_GETOPT_LONG = getopt1.o $(GNU_GETOPT)
# This is supposed to become part of the standard GNU libs, whatever
# that means.
FILEMODE = filemode.o
# Code shared by all the binutils.
BULIBS = bucomm.o version.o
ADDL_LIBS = $(GNU_GETOPT_LONG) $(MALLOC) $(FILEMODE) $(BULIBS)
BFD = $(LIBDIR)/libbfd.a
#
## The rules
all: $(ADDL_LIBS) $(PROGS)
$(SIZE): $(ADDL_LIBS) size.o $(BFD)
$(CC) $(LDFLAGS) $(CFLAGS) -o $(SIZE) size.o $(ADDL_LIBS) $(BFD)
$(COPY): $(ADDL_LIBS) copy.o $(BFD)
$(CC) $(LDFLAGS) $(CFLAGS) -o $(COPY) copy.o $(ADDL_LIBS) $(BFD)
$(NM): $(ADDL_LIBS) nm.o $(BFD)
$(CC) $(LDFLAGS) $(CFLAGS) -o $(NM) nm.o $(MALLOC) $(ADDL_LIBS) $(BFD)
$(OBJDUMP): $(ADDL_LIBS) size.o objdump.o $(DISASMS) $(BFD)
$(CC) $(LDFLAGS) $(CFLAGS) -o $(OBJDUMP) objdump.o $(DISASMS) $(ADDL_LIBS) $(BFD)
$(AR): $(ADDL_LIBS) ar.o $(BFD)
$(CC) $(LDFLAGS) $(CFLAGS) -o $(AR) ar.o $(MALLOC) $(ADDL_LIBS) $(BFD)
$(RANLIB): $(AR)
-rm -f $(RANLIB)
-ln $(AR) $(RANLIB)
$(STRIP): $(COPY)
-rm -f $(STRIP)
-ln $(COPY) $(STRIP)
clean:
-rm -f *.o *~ \#* core $(PROGS) TAGS
etags tags: TAGS
TAGS: .force
etags $(INCDIR)/*.h $(BFDSRC)/*.[hc] *.[hc]
realclean: clean
-rm -f $(PROGS) TAGS
install: $(PROGS)
for prog in $(PROGS); do \
rm -f $G960BASE/bin/$$prog-new; cp $$prog $$G960BASE/bin/$$prog-new ; \
done
bucomm.o: bucomm.c
version.o: version.c
size.o: size.c
copy.o: copy.c
objdump.o: objdump.c
m68k-pinsn.o: m68k-pinsn.c
m68k-pinsn.o: ./m68k-opcode.h
i960-pinsn.o: i960-pinsn.c
sparc-pinsn.o: sparc-pinsn.c
sparc-pinsn.o: ./sparc-opcode.h
nm.o: nm.c
ar.o: ar.c
strip.o: strip.c
#-----------------------------------------------------------------------------
# '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
# Dummy target to force execution of dependent targets.
#
.force:
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 -host=$(host) $(target))
### Local Variables: ***
### mode:fundamental ***
### page-delimiter: "^# " ***
### End: ***
### end of file