Annotation of binutils/Makefile, revision 1.1.1.5

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.