|
|
1.1.1.2 root 1: # Makefile for GNU binary-file utilities
2: # select a set of CFLAGS and PROGS, below, depending on the system type
1.1.1.3 root 3: # Copyright (C) 1989, Free Software Foundation, Inc.
4: #
5: # This file is part of GNU CC.
6: #
7: # GNU CC is free software; you can redistribute it and/or modify
8: # it under the terms of the GNU General Public License as published by
9: # the Free Software Foundation; either version 1, or (at your option)
10: # any later version.
11: #
12: # GNU CC is distributed in the hope that it will be useful,
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
18: # along with GNU CC; see the file COPYING. If not, write to
19: # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
20:
1.1.1.2 root 21:
1.1 root 22: GNUCC = gcc -O
1.1.1.2 root 23:
24: # for BSD systems
1.1 root 25: CFLAGS = -g
1.1.1.2 root 26: # Don't add robotussin; it won't compile on BSD or GNU systems.
27: # objdump also won't compile on most systems (trouble with N_DATADDR).
1.1.1.4 ! root 28: PROGS = $(archpfx)gprof $(archpfx)ld $(archpfx)size \
! 29: $(archpfx)nm $(archpfx)strip $(archpfx)ar $(archpfx)ranlib
1.1.1.2 root 30:
31: # for USG systems using COFF_ENCAPSULATE
32: # also, you will want to make the target libc.a (but it takes a long time)
33: # Note that you should leave a copy of `ar' in this directory
34: # after you install it, since `ranlib' will try to run it from here.
1.1.1.3 root 35: #CFLAGS = -g -DUSG -DCOFF_ENCAPSULATE -DPORTAR -DNON_NATIVE
36: #PROGS = ld size nm strip ar robotussin objdump ranlib gprof
1.1.1.4 ! root 37: # On ALTOS systems, add -DALTOS to CFLAGS.
! 38:
1.1.1.3 root 39: #it's better to move a copy of alloca into your libc than to risk getting some
40: #incompatiable functions from -lPW (like index()), but if you
41: #want to be lazy, uncomment this line
1.1.1.2 root 42: #LIBS = -lPW
1.1.1.4 ! root 43:
1.1.1.3 root 44: # For HP-UX systems
45: # Don't add robotussin; use hpxt instead.
46: # Note that you should leave a copy of `ar' in this directory
47: # after you install it, since `ranlib' will try to run it from here.
48: #CFLAGS = -g -Ihp-include -DUSG -DNON_NATIVE
49: #PROGS = ld size nm strip ar ranlib
50: #LIBS = alloca.o
51:
52: # Use the GNU getopt unless you have problems with it.
1.1.1.4 ! root 53: GNU_GETOPT = $(archpfx)getopt.o
! 54: GNU_GETOPT_LONG = $(archpfx)getopt.o $(archpfx)getopt1.o
1.1 root 55:
1.1.1.2 root 56: all: $(PROGS)
1.1 root 57:
1.1.1.4 ! root 58: ld: $(archpfx)ld.o
1.1.1.2 root 59: # LIBS is used here since ld needs to use alloca.
60: # Alternatively, compile it with GNU C--then the compiler handles alloca.
1.1.1.4 ! root 61: $(CC) -o $(archpfx)ld $(archpfx)ld.o $(LIBS)
! 62:
! 63: $(archpfx)size: $(archpfx)size.o
! 64: $(CC) -o $(archpfx)size $(archpfx)size.o
1.1 root 65:
1.1.1.4 ! root 66: $(archpfx)nm: $(archpfx)nm.o $(GNU_GETOPT_LONG)
! 67: $(CC) -o $(archpfx)nm $(archpfx)nm.o $(LIBS) $(GNU_GETOPT_LONG)
1.1 root 68:
1.1.1.4 ! root 69: $(archpfx)strip: $(archpfx)strip.o $(GNU_GETOPT)
! 70: $(CC) -o $(archpfx)strip $(archpfx)strip.o $(LIBS) $(GNU_GETOPT_LONG)
1.1 root 71:
1.1.1.4 ! root 72: $(archpfx)ar: $(archpfx)ar.o
! 73: $(CC) -o $(archpfx)ar $(archpfx)ar.o
1.1 root 74:
1.1.1.4 ! root 75: $(archpfx)gprof: $(archpfx)gprof.o $(GNU_GETOPT_LONG)
! 76: $(GNUCC) -o $(archpfx)gprof $(archpfx)gprof.o $(GNU_GETOPT_LONG)
! 77: $(archpfx)gprof.o: gprof.c gmon.h
! 78: $(GNUCC) -c $(CFLAGS) gprof.c $(OUTPUT_OPTION)
1.1 root 79:
1.1.1.4 ! root 80: $(archpfx)ranlib: $(archpfx)ranlib.o
! 81: $(CC) -o $(archpfx)ranlib $(archpfx)ranlib.o $(GNU_GETOPT_LONG)
! 82: $(archpfx)ranlib.o: ranlib.c
! 83: $(CC) -c $(CFLAGS) -DAR_PROG=\"$(bindir)/ar\" ranlib.c $(OUTPUT_OPTION)
1.1.1.2 root 84:
1.1.1.4 ! root 85: $(archpfx)objdump: $(archpfx)objdump.o
! 86: $(CC) -o $(archpfx)objdump $(archpfx)objdump.o $(GNU_GETOPT_LONG)
1.1.1.2 root 87:
88: # Robotussin is NOT part of `all'.
1.1.1.4 ! root 89: $(archpfx)robotussin: $(archpfx)robotussin.o
! 90: $(CC) -o $(archpfx)robotussin $(archpfx)robotussin.o
1.1.1.2 root 91:
1.1.1.4 ! root 92: libc.a: $(archpfx)robotussin libconvert $(archpfx)ar
1.1.1.3 root 93: libconvert /lib/libc.a libc.a
94:
95: # usg-gnulib is the file gcc makes using the usg compiler
1.1.1.4 ! root 96: gnulib: $(archpfx)robotussin libconvert usg-gnulib $(archpfx)ar
1.1.1.3 root 97: libconvert usg-gnulib gnulib
1.1.1.2 root 98:
99: clean:
100: -rm -f *.o core
1.1.1.4 ! root 101: -rm -f $(PROGS)
1.1.1.2 root 102:
103: dist:
104: -rm -rf binutils
105: mkdir binutils
1.1.1.3 root 106: -cd binutils; ln -s ../* .
107: cd binutils; \
108: rm -f GNUmakefile *~ "#*" log* binutils binutils.tar* =*; \
109: make clean
110: tar cohf binutils.tar binutils
1.1.1.2 root 111: compress < binutils.tar > binutils.tar.Z
112: rm -rf binutils
1.1.1.4 ! root 113:
! 114: .PHONY: install
! 115: install: $(PROGS)
! 116: for file in $(PROGS); do \
! 117: cp $$file $(bindir)/$${file}.new \
! 118: mv $(bindir)/$${file}.new $(bindir)/$file \
! 119: done
! 120:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.