aboutsummaryrefslogtreecommitdiff
path: root/binutils-1.9/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-1.9/Makefile')
-rw-r--r--binutils-1.9/Makefile167
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