|
|
1.1.1.2 root 1: # Makefile for GNU binary-file utilities 1.1.1.5 ! root 2: # Select a set of CFLAGS and PROGS, below, depending on the system type. ! 3: # Copyright (C) 1989, 1990 Free Software Foundation, Inc. 1.1.1.3 root 4: # 1.1.1.5 ! root 5: # This file is part of the GNU binutils. 1.1.1.3 root 6: # 1.1.1.5 ! root 7: # The GNU binutils are free software; you can redistribute them and/or modify ! 8: # them under the terms of the GNU General Public License as published by 1.1.1.3 root 9: # the Free Software Foundation; either version 1, or (at your option) 10: # any later version. 11: # 1.1.1.5 ! root 12: # The GNU binutils are distributed in the hope that they will be useful, 1.1.1.3 root 13: # but WITHOUT ANY WARRANTY; without even the implied warranty of 14: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15: # GNU General Public License for more details. 16: # 17: # You should have received a copy of the GNU General Public License 1.1.1.5 ! root 18: # along with the GNU binutils; see the file COPYING. If not, write to 1.1.1.3 root 19: # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 20: 1.1.1.5 ! root 21: # gprof.c contains `void *' and very long string constants which many ! 22: # C compilers can't handle, so you might need gcc to compile it. 1.1 root 23: GNUCC = gcc -O 1.1.1.5 ! root 24: # But you might need to use your old C compiler to compile the other ! 25: # programs (ld at least), if you can't run gcc without them ! 26: # (particularly on COFF systems). ! 27: #CC = cc ! 28: ! 29: bindir=/usr/local/gnubin ! 30: ! 31: # For BSD: ! 32: # For SunOS 4.x, take out -DVPRINTF_MISSING. ! 33: CFLAGS = -g -DVPRINTF_MISSING 1.1.1.2 root 34: # Don't add robotussin; it won't compile on BSD or GNU systems. 1.1.1.5 ! root 35: # objdump is not here because it (at least used to) not compile ! 36: # on most systems (trouble with N_DATADDR). Some of those problems ! 37: # have been fixed, though. 1.1.1.4 root 38: PROGS = $(archpfx)gprof $(archpfx)ld $(archpfx)size \ 39: $(archpfx)nm $(archpfx)strip $(archpfx)ar $(archpfx)ranlib 1.1.1.2 root 40: 1.1.1.5 ! root 41: # For USG systems using COFF_ENCAPSULATE: ! 42: # Also, you will want to make the target libc.a (but it takes a long time). 1.1.1.2 root 43: # Note that you should leave a copy of `ar' in this directory 44: # after you install it, since `ranlib' will try to run it from here. 1.1.1.5 ! root 45: #CFLAGS=-g -DUSG -DCOFF_ENCAPSULATE -DPORTAR -DNON_NATIVE -DSYS_SIGLIST_MISSING 1.1.1.3 root 46: #PROGS = ld size nm strip ar robotussin objdump ranlib gprof 1.1.1.5 ! root 47: #SIGNAME = $(archpfx)signame.o 1.1.1.4 root 48: # On ALTOS systems, add -DALTOS to CFLAGS. 49: 1.1.1.5 ! root 50: #It's better to move a copy of alloca into your libc than to risk getting some ! 51: #incompatible functions from -lPW (like index()), but if you ! 52: #want to be lazy, uncomment this line. ! 53: #ALLOCALIBS = -lPW 1.1.1.4 root 54: 1.1.1.5 ! root 55: # For HP-UX: ! 56: # Don't add `robotussin'; use `hpxt' instead. 1.1.1.3 root 57: # Note that you should leave a copy of `ar' in this directory 58: # after you install it, since `ranlib' will try to run it from here. 1.1.1.5 ! root 59: #CFLAGS = -g -Ihp-include -DUSG -DNON_NATIVE -DVPRINTF_MISSING 1.1.1.3 root 60: #PROGS = ld size nm strip ar ranlib 1.1.1.5 ! root 61: #ALLOCALIBS = alloca.o ! 62: ! 63: # For the NeXT: ! 64: # Set GNUCC = cc -O. ! 65: # Put -DMACH_O in CFLAGS, take out -DVPRINTF_MISSING. ! 66: # Comment out MALLOC below to use the system's malloc(). ! 67: ! 68: # For Sun386: ! 69: # Compile with -DPORTAR -DCOFF_ENCAPSULATE. ! 70: # Depending on how you configure gcc, you might also want -Dnounderscore, ! 71: # though I did not wind up using it. ! 72: ! 73: # If you run out of stack space while running GNU ar or GNU ld (this ! 74: # manifests itself as a segment violation), you should link in alloca.c ! 75: # from the gcc sources, and get rid of the "#define alloca" in ar.c and ! 76: # ld.c; or you could try to get Sun to fix this annoying "feature". ! 77: #CFLAGS = -g -DCOFF_ENCAPSULATE -DPORTAR ! 78: #PROGS = ld size nm strip ar robotussin objdump ranlib gprof ! 79: ! 80: # nm tries to malloc enough space for the string table. The old GNU malloc ! 81: # rounds this up to a power of two (e.g. 5M becomes 8M), and so it might ! 82: # fail unnecessarily. I've also seen some Unix malloc's fail, even when ! 83: # there is enough memory. So use the new GNU malloc. ! 84: MALLOC = $(archpfx)gmalloc.o 1.1.1.3 root 85: 1.1.1.4 root 86: GNU_GETOPT = $(archpfx)getopt.o 87: GNU_GETOPT_LONG = $(archpfx)getopt.o $(archpfx)getopt1.o 1.1 root 88: 1.1.1.5 ! root 89: # C++ demangler ! 90: CPLUS_DEM = $(archpfx)cplus-dem.o ! 91: ! 92: LIBS=$(ALLOCALIBS) $(SIGNAME) ! 93: 1.1.1.2 root 94: all: $(PROGS) 1.1 root 95: 1.1.1.5 ! root 96: $(archpfx)ld: $(archpfx)ld.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) 1.1.1.2 root 97: # LIBS is used here since ld needs to use alloca. 98: # Alternatively, compile it with GNU C--then the compiler handles alloca. 1.1.1.5 ! root 99: $(CC) $(CFLAGS) -o $(archpfx)ld $(archpfx)ld.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) 1.1.1.4 root 100: 1.1.1.5 ! root 101: $(archpfx)size: $(archpfx)size.o $(LIBS) ! 102: $(CC) $(CFLAGS) -o $(archpfx)size $(archpfx)size.o 1.1 root 103: 1.1.1.5 ! root 104: $(archpfx)nm: $(archpfx)nm.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(MALLOC) $(LIBS) ! 105: $(CC) $(CFLAGS) -o $(archpfx)nm $(archpfx)nm.o \ ! 106: $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) $(MALLOC) 1.1 root 107: 1.1.1.5 ! root 108: $(archpfx)strip: $(archpfx)strip.o $(archpfx)error.o $(GNU_GETOPT_LONG) $(LIBS) ! 109: $(CC) $(CFLAGS) -o $(archpfx)strip $(archpfx)strip.o $(archpfx)error.o $(GNU_GETOPT_LONG) $(LIBS) 1.1 root 110: 1.1.1.5 ! root 111: $(archpfx)ar: $(archpfx)ar.o $(LIBS) ! 112: $(CC) $(CFLAGS) -o $(archpfx)ar $(archpfx)ar.o $(LIBS) 1.1 root 113: 1.1.1.5 ! root 114: $(archpfx)gprof: $(archpfx)gprof.o $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) ! 115: $(GNUCC) $(CFLAGS) -o $(archpfx)gprof $(archpfx)gprof.o \ ! 116: $(GNU_GETOPT_LONG) $(CPLUS_DEM) $(LIBS) ! 117: $(archpfx)gprof.o: gprof.c gmon.h ! 118: $(GNUCC) $(CFLAGS) -c gprof.c $(OUTPUT_OPTION) 1.1 root 119: 1.1.1.5 ! root 120: $(archpfx)ranlib: $(archpfx)ranlib.o $(GNU_GETOPT_LONG) $(LIBS) ! 121: $(CC) $(CFLAGS) -o $(archpfx)ranlib $(archpfx)ranlib.o $(GNU_GETOPT_LONG) $(LIBS) 1.1.1.4 root 122: $(archpfx)ranlib.o: ranlib.c 123: $(CC) -c $(CFLAGS) -DAR_PROG=\"$(bindir)/ar\" ranlib.c $(OUTPUT_OPTION) 1.1.1.2 root 124: 1.1.1.5 ! root 125: $(archpfx)objdump: $(archpfx)objdump.o $(archpfx)error.o $(GNU_GETOPT_LONG) a.out.gnu.h $(LIBS) ! 126: $(CC) $(CFLAGS) -o $(archpfx)objdump $(archpfx)objdump.o $(archpfx)error.o \ ! 127: $(GNU_GETOPT_LONG) $(LIBS) 1.1.1.2 root 128: 129: # Robotussin is NOT part of `all'. 1.1.1.5 ! root 130: $(archpfx)robotussin: $(archpfx)robotussin.o $(LIBS) ! 131: $(CC) $(CFLAGS) -o $(archpfx)robotussin $(archpfx)robotussin.o 1.1.1.2 root 132: 1.1.1.4 root 133: libc.a: $(archpfx)robotussin libconvert $(archpfx)ar 1.1.1.3 root 134: libconvert /lib/libc.a libc.a 135: 136: # usg-gnulib is the file gcc makes using the usg compiler 1.1.1.4 root 137: gnulib: $(archpfx)robotussin libconvert usg-gnulib $(archpfx)ar 1.1.1.3 root 138: libconvert usg-gnulib gnulib 1.1.1.2 root 139: 140: clean: 141: -rm -f *.o core 1.1.1.5 ! root 142: -rm -f $(archpfx)*.o ! 143: -rm -f $(PROGS) objdump 1.1.1.2 root 144: 1.1.1.5 ! root 145: DISTNAME = binutils-1.9 1.1.1.2 root 146: dist: 1.1.1.5 ! root 147: rm -rf $(DISTNAME) ! 148: mkdir $(DISTNAME) $(DISTNAME)/hp-bin $(DISTNAME)/hp-include ! 149: ln COPYING ChangeLog Makefile README README-ENCAP \ ! 150: a.out.encap.h a.out.gnu.h ar.c cplus-dem.c \ ! 151: error.c getopt.c getopt.h getopt1.c gmalloc.c \ ! 152: gmon.h gprof.c gprof.texinfo ld.c libconvert nm.c objdump.c \ ! 153: ranlib.c ranlib.h robotussin.c signame.c signame.h size.c \ ! 154: stab.def stab.h strip.c symseg.h $(DISTNAME) ! 155: cd hp-bin; ln Makefile chatr.c hpxt.c ioutil.c ioutil.h \ ! 156: mkhplib ../$(DISTNAME)/hp-bin ! 157: cd hp-include; ln a.out.h stab.def stab.h ../$(DISTNAME)/hp-include ! 158: tar chZf $(DISTNAME).tar.Z $(DISTNAME) ! 159: rm -rf $(DISTNAME) ! 160: .PHONY: dist 1.1.1.4 root 161: 162: .PHONY: install 163: install: $(PROGS) 164: for file in $(PROGS); do \ 1.1.1.5 ! root 165: cp $$file $(bindir)/$${file}.new; \ ! 166: mv $(bindir)/$${file}.new $(bindir)/$$file; \ 1.1.1.4 root 167: done
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.