diff options
Diffstat (limited to 'binutils-1.9/Makefile')
| -rw-r--r-- | binutils-1.9/Makefile | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/binutils-1.9/Makefile b/binutils-1.9/Makefile new file mode 100644 index 0000000..8a4beda --- /dev/null +++ b/binutils-1.9/Makefile @@ -0,0 +1,167 @@ +# Makefile for GNU binary-file utilities +# Select a set of CFLAGS and PROGS, below, depending on the system type. +# Copyright (C) 1989, 1990 Free Software Foundation, Inc. +# +# This file is part of the GNU binutils. +# +# The GNU binutils are free software; you can redistribute them and/or modify +# them under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 1, or (at your option) +# any later version. +# +# The GNU binutils are distributed in the hope that they will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with the GNU binutils; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +# gprof.c contains `void *' and very long string constants which many +# C compilers can't handle, so you might need gcc to compile it. +GNUCC = gcc -O +# But you might need to use your old C compiler to compile the other +# programs (ld at least), if you can't run gcc without them +# (particularly on COFF systems). +#CC = cc + +bindir=/usr/local/gnubin + +# For BSD: +# For SunOS 4.x, take out -DVPRINTF_MISSING. +CFLAGS = -g -DVPRINTF_MISSING +# Don't add robotussin; it won't compile on BSD or GNU systems. +# objdump is not here because it (at least used to) not compile +# on most systems (trouble with N_DATADDR). Some of those problems +# have been fixed, though. +PROGS = $(archpfx)gprof $(archpfx)ld $(archpfx)size \ + $(archpfx)nm $(archpfx)strip $(archpfx)ar $(archpfx)ranlib + +# For USG systems using COFF_ENCAPSULATE: +# Also, you will want to make the target libc.a (but it takes a long time). +# Note that you should leave a copy of `ar' in this directory +# after you install it, since `ranlib' will try to run it from here. +#CFLAGS=-g -DUSG -DCOFF_ENCAPSULATE -DPORTAR -DNON_NATIVE -DSYS_SIGLIST_MISSING +#PROGS = ld size nm strip ar robotussin objdump ranlib gprof +#SIGNAME = $(archpfx)signame.o +# On ALTOS systems, add -DALTOS to CFLAGS. + +#It's better to move a copy of alloca into your libc than to risk getting some +#incompatible functions from -lPW (like index()), but if you +#want to be lazy, uncomment this line. +#ALLOCALIBS = -lPW + +# For HP-UX: +# Don't add `robotussin'; use `hpxt' instead. +# Note that you should leave a copy of `ar' in this directory +# after you install it, since `ranlib' will try to run it from here. +#CFLAGS = -g -Ihp-include -DUSG -DNON_NATIVE -DVPRINTF_MISSING +#PROGS = ld size nm strip ar ranlib +#ALLOCALIBS = alloca.o + +# For the NeXT: +# Set GNUCC = cc -O. +# Put -DMACH_O in CFLAGS, take out -DVPRINTF_MISSING. +# Comment out MALLOC below to use the system's malloc(). + +# For Sun386: +# Compile with -DPORTAR -DCOFF_ENCAPSULATE. +# Depending on how you configure gcc, you might also want -Dnounderscore, +# though I did not wind up using it. + +# If you run out of stack space while running GNU ar or GNU ld (this +# manifests itself as a segment violation), you should link in alloca.c +# from the gcc sources, and get rid of the "#define alloca" in ar.c and +# ld.c; or you could try to get Sun to fix this annoying "feature". +#CFLAGS = -g -DCOFF_ENCAPSULATE -DPORTAR +#PROGS = ld size nm strip ar robotussin objdump ranlib gprof + +# 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 = $(archpfx)gmalloc.o + +GNU_GETOPT = $(archpfx)getopt.o +GNU_GETOPT_LONG = $(archpfx)getopt.o $(archpfx)getopt1.o + +# C++ demangler +CPLUS_DEM = $(archpfx)cplus-dem.o + +LIBS=$(ALLOCALIBS) $(SIGNAME) + +all: $(PROGS) + +$(archpfx)ld: $(archpfx)ld.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) +# LIBS is used here since ld needs to use alloca. +# Alternatively, compile it with GNU C--then the compiler handles alloca. + $(CC) $(CFLAGS) -o $(archpfx)ld $(archpfx)ld.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) + +$(archpfx)size: $(archpfx)size.o $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)size $(archpfx)size.o + +$(archpfx)nm: $(archpfx)nm.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(MALLOC) $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)nm $(archpfx)nm.o \ + $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) $(MALLOC) + +$(archpfx)strip: $(archpfx)strip.o $(archpfx)error.o $(GNU_GETOPT_LONG) $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)strip $(archpfx)strip.o $(archpfx)error.o $(GNU_GETOPT_LONG) $(LIBS) + +$(archpfx)ar: $(archpfx)ar.o $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)ar $(archpfx)ar.o $(LIBS) + +$(archpfx)gprof: $(archpfx)gprof.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) + $(GNUCC) $(CFLAGS) -o $(archpfx)gprof $(archpfx)gprof.o \ + $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) +$(archpfx)gprof.o: gprof.c gmon.h + $(GNUCC) $(CFLAGS) -c gprof.c $(OUTPUT_OPTION) + +$(archpfx)ranlib: $(archpfx)ranlib.o $(GNU_GETOPT_LONG) $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)ranlib $(archpfx)ranlib.o $(GNU_GETOPT_LONG) $(LIBS) +$(archpfx)ranlib.o: ranlib.c + $(CC) -c $(CFLAGS) -DAR_PROG=\"$(bindir)/ar\" ranlib.c $(OUTPUT_OPTION) + +$(archpfx)objdump: $(archpfx)objdump.o $(archpfx)error.o $(GNU_GETOPT_LONG) a.out.gnu.h $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)objdump $(archpfx)objdump.o $(archpfx)error.o \ + $(GNU_GETOPT_LONG) $(LIBS) + +# Robotussin is NOT part of `all'. +$(archpfx)robotussin: $(archpfx)robotussin.o $(LIBS) + $(CC) $(CFLAGS) -o $(archpfx)robotussin $(archpfx)robotussin.o + +libc.a: $(archpfx)robotussin libconvert $(archpfx)ar + libconvert /lib/libc.a libc.a + +# usg-gnulib is the file gcc makes using the usg compiler +gnulib: $(archpfx)robotussin libconvert usg-gnulib $(archpfx)ar + libconvert usg-gnulib gnulib + +clean: + -rm -f *.o core + -rm -f $(archpfx)*.o + -rm -f $(PROGS) objdump + +DISTNAME = binutils-1.9 +dist: + rm -rf $(DISTNAME) + mkdir $(DISTNAME) $(DISTNAME)/hp-bin $(DISTNAME)/hp-include + ln COPYING ChangeLog Makefile README README-ENCAP \ + a.out.encap.h a.out.gnu.h ar.c cplus-dem.c \ + error.c getopt.c getopt.h getopt1.c gmalloc.c \ + gmon.h gprof.c gprof.texinfo ld.c libconvert nm.c objdump.c \ + ranlib.c ranlib.h robotussin.c signame.c signame.h size.c \ + stab.def stab.h strip.c symseg.h $(DISTNAME) + cd hp-bin; ln Makefile chatr.c hpxt.c ioutil.c ioutil.h \ + mkhplib ../$(DISTNAME)/hp-bin + cd hp-include; ln a.out.h stab.def stab.h ../$(DISTNAME)/hp-include + tar chZf $(DISTNAME).tar.Z $(DISTNAME) + rm -rf $(DISTNAME) +.PHONY: dist + +.PHONY: install +install: $(PROGS) + for file in $(PROGS); do \ + cp $$file $(bindir)/$${file}.new; \ + mv $(bindir)/$${file}.new $(bindir)/$$file; \ + done |
