1994-01-23 08:34:31 +08:00
|
|
|
|
|
|
|
|
|
s = "{srcdir}"
|
|
|
|
|
|
|
|
|
|
o = :
|
|
|
|
|
|
|
|
|
|
# File in object dir can come from either the current dir or srcdir.
|
|
|
|
|
|
|
|
|
|
"{o}" \Option-f : "{s}"
|
|
|
|
|
|
|
|
|
|
# Default rule that puts each file into separate segment.
|
|
|
|
|
|
|
|
|
|
.c.o \Option-f .c
|
|
|
|
|
{CC} {DepDir}{Default}.c {ALL_CFLAGS} {SymOptions} -s {Default} -o {TargDir}{Default}.c.o
|
|
|
|
|
|
|
|
|
|
# Makefile for GNU binary-file utilities
|
|
|
|
|
# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
|
|
# This file is part of GNU binutils.
|
|
|
|
|
|
|
|
|
|
# This program is free software; you can redistribute it and:or modify
|
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
|
|
|
# (at your option) any later version.
|
|
|
|
|
#
|
|
|
|
|
# This program is distributed in the hope that it 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 this program; if not, write to the Free Software
|
|
|
|
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
|
|
|
|
|
|
# srcdir = :
|
|
|
|
|
|
|
|
|
|
prefix = :usr:local
|
|
|
|
|
|
|
|
|
|
program_transform_name =
|
|
|
|
|
exec_prefix = {prefix}
|
|
|
|
|
bindir = {exec_prefix}:bin
|
|
|
|
|
libdir = {exec_prefix}:lib
|
|
|
|
|
tooldir = {exec_prefix}:{target_alias}
|
|
|
|
|
|
|
|
|
|
datadir = {prefix}:lib
|
|
|
|
|
mandir = {prefix}:man
|
|
|
|
|
man1dir = {mandir}:man1
|
|
|
|
|
man2dir = {mandir}:man2
|
|
|
|
|
man3dir = {mandir}:man3
|
|
|
|
|
man4dir = {mandir}:man4
|
|
|
|
|
man5dir = {mandir}:man5
|
|
|
|
|
man6dir = {mandir}:man6
|
|
|
|
|
man7dir = {mandir}:man7
|
|
|
|
|
man8dir = {mandir}:man8
|
|
|
|
|
man9dir = {mandir}:man9
|
|
|
|
|
infodir = {prefix}:info
|
|
|
|
|
includedir = {prefix}:include
|
|
|
|
|
docdir = {datadir}:doc
|
|
|
|
|
|
|
|
|
|
SHELL = :bin:sh
|
|
|
|
|
|
|
|
|
|
INSTALL = Duplicate -y
|
|
|
|
|
INSTALL_PROGRAM = {INSTALL}
|
|
|
|
|
INSTALL_DATA = {INSTALL}
|
|
|
|
|
INSTALL_XFORM = {INSTALL} -t='{program_transform_name}'
|
|
|
|
|
INSTALL_XFORM1 = {INSTALL_XFORM} -b=.1
|
|
|
|
|
|
|
|
|
|
AR = ar
|
|
|
|
|
AR_FLAGS = qv
|
|
|
|
|
#CFLAGS = -g
|
|
|
|
|
MAKEINFO = makeinfo
|
|
|
|
|
TEXI2DVI = texi2dvi
|
|
|
|
|
RANLIB = ranlib
|
|
|
|
|
BISONFLAGS = -d
|
|
|
|
|
TEXI2ROFF=texi2roff
|
|
|
|
|
MAKEOVERRIDES=
|
|
|
|
|
|
|
|
|
|
NM_FOR_TARGET = nm
|
|
|
|
|
NM = {NM_FOR_TARGET}
|
|
|
|
|
SYMLINK = ln -s
|
|
|
|
|
|
|
|
|
|
BISON = byacc
|
|
|
|
|
# Comment these out if using lex.
|
|
|
|
|
LEX_OPTIONS = -i -Cem
|
|
|
|
|
LEX = flex
|
|
|
|
|
|
|
|
|
|
# Distribution version
|
|
|
|
|
VERSION=cygnus-2.3.1
|
|
|
|
|
# Distribution name
|
|
|
|
|
DIST_NAME=binutils-{VERSION}
|
|
|
|
|
|
|
|
|
|
# version=`:::gcc:gcc -dumpversion`
|
|
|
|
|
|
|
|
|
|
# Where to find texinfo.tex to format docn with TeX
|
|
|
|
|
TEXIDIR = "{srcdir}":texinfo
|
|
|
|
|
|
1994-02-01 11:23:19 +08:00
|
|
|
|
MANPAGES= ar nm objdump ranlib size strings strip cplusfilt objcopy nlmconv
|
1994-01-23 08:34:31 +08:00
|
|
|
|
|
|
|
|
|
#CC=gcc -Wall
|
|
|
|
|
# these two are almost the same program
|
|
|
|
|
AR_PROG=ar
|
|
|
|
|
RANLIB_PROG=ranlib
|
|
|
|
|
|
|
|
|
|
# objcopy and strip should be the same program
|
|
|
|
|
OBJCOPY_PROG=objcopy
|
|
|
|
|
STRIP_PROG=strip
|
|
|
|
|
|
|
|
|
|
STRINGS_PROG=strings
|
|
|
|
|
|
|
|
|
|
# These should all be the same program too.
|
|
|
|
|
SIZE_PROG=size
|
|
|
|
|
NM_PROG=nm
|
|
|
|
|
OBJDUMP_PROG=objdump
|
|
|
|
|
|
|
|
|
|
# This is the demangler, as a standalone program.
|
1994-02-01 11:23:19 +08:00
|
|
|
|
DEMANGLER_PROG=cplusfilt
|
1994-01-23 08:34:31 +08:00
|
|
|
|
|
|
|
|
|
NLMCONV_PROG=nlmconv
|
|
|
|
|
|
|
|
|
|
PROGS = {SIZE_PROG} {OBJDUMP_PROG} {NM_PROG} {AR_PROG} {STRINGS_PROG} {STRIP_PROG} {RANLIB_PROG} {DEMANGLER_PROG} {OBJCOPY_PROG}
|
|
|
|
|
STAGESTUFF = {PROGS} "{o}"\Option-x.c.o
|
|
|
|
|
# Files that can be generated, but should be in the distribution.
|
|
|
|
|
DISTSTUFF=arparse.c :arlex.c "{s}"nlmheader.c info
|
|
|
|
|
|
|
|
|
|
BASEDIR = "{srcroot}"
|
|
|
|
|
BFDDIR = {BASEDIR}bfd
|
|
|
|
|
INCDIR = {BASEDIR}include
|
1994-02-01 11:23:19 +08:00
|
|
|
|
INCLUDES = -i "{INCDIR}":mpw: -i ::extra-include: -i : -i {srcdir} -i ::bfd: -i {BFDDIR} -i {INCDIR}
|
1994-01-23 08:34:31 +08:00
|
|
|
|
|
|
|
|
|
#### host and target dependant Makefile fragments come in here.
|
|
|
|
|
###
|
|
|
|
|
|
|
|
|
|
ALL_CFLAGS = {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS}
|
|
|
|
|
|
|
|
|
|
"{o}".c.c.o \Option-f
|
|
|
|
|
{CC} -c {ALL_CFLAGS} $<
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
## Random definitions
|
|
|
|
|
# Hopefully all these may be flushed once we get configuration down pat.
|
|
|
|
|
|
|
|
|
|
# alloca only needed for systems which don't have it and when cc != gcc.
|
|
|
|
|
# ALLOCA = "{o}"alloca.c.o
|
|
|
|
|
|
|
|
|
|
# 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 = "{o}"gmalloc.c.o
|
|
|
|
|
# Use this if the system malloc is good enough.
|
|
|
|
|
MALLOC =
|
|
|
|
|
|
|
|
|
|
# Use the GNU getopt unless you have problems with it.
|
|
|
|
|
# The IRIS version could probably benefit from being assembled with
|
|
|
|
|
# libmalloc rather than the ordinary malloc.
|
|
|
|
|
LIBIBERTY = ::libiberty:libiberty.o
|
|
|
|
|
|
|
|
|
|
# Code shared by all the binutils.
|
|
|
|
|
BULIBS = "{o}"bucomm.c.o "{o}"version.c.o "{o}"filemode.c.o
|
|
|
|
|
|
|
|
|
|
ADDL_LIBS = {MALLOC} {BULIBS} {BFD} {LIBIBERTY}
|
|
|
|
|
|
|
|
|
|
BFD = ::bfd:libbfd.o
|
|
|
|
|
OPCODES = ::opcodes:libopcodes.o
|
|
|
|
|
|
|
|
|
|
RUNTEST = runtest
|
|
|
|
|
RUNTEST_FLAGS =
|
|
|
|
|
FLAGS_TO_PASS = \Option-d
|
|
|
|
|
"CC={CC}" \Option-d
|
|
|
|
|
"CFLAGS={CFLAGS}" \Option-d
|
|
|
|
|
"RUNTEST={RUNTEST}" \Option-d
|
|
|
|
|
"RUNTEST_FLAGS={RUNTEST_FLAGS} \Option-d
|
|
|
|
|
SIZE=`if [ -f $$rootme:{SIZE_PROG} ] ; then echo $$rootme:{SIZE_PROG} ; else echo {SIZE_PROG}; fi` \Option-d
|
|
|
|
|
OBJCOPY=`if [ -f $$rootme:{OBJCOPY_PROG} ] ; then echo $$rootme:{OBJCOPY_PROG} ; else echo {OBJCOPY_PROG}; fi` \Option-d
|
|
|
|
|
NM=`if [ -f $$rootme:{NM_PROG} ] ; then echo $$rootme:{NM_PROG} ; else echo {NM_PROG}; fi` \Option-d
|
|
|
|
|
AR=`if [ -f $$rootme:{AR_PROG} ] ; then echo $$rootme:{AR_PROG} ; else echo {AR_PROG}; fi` \Option-d
|
|
|
|
|
OBJDUMP=`if [ -f $$rootme:{OBJDUMP_PROG} ] ; then echo $$rootme:{OBJDUMP_PROG} ; else echo {OBJDUMP_PROG}; fi` \Option-d
|
|
|
|
|
STRINGS=`if [ -f $$rootme:{STRINGS_PROG} ] ; then echo $$rootme:{STRINGS_PROG} ; else echo {STRINGS_PROG}; fi` \Option-d
|
|
|
|
|
STRIP=`if [ -f $$rootme:{STRIP_PROG} ] ; then echo $$rootme:{STRIP_PROG} ; else echo {STRIP_PROG}; fi` \Option-d
|
|
|
|
|
RANLIB=`if [ -f $$rootme:{RANLIB_PROG} ] ; then echo $$rootme:{RANLIB_PROG} ; else echo {RANLIB_PROG}; fi` \Option-d
|
|
|
|
|
DEMANGLE=`if [ -f $$rootme:{DEMANGLER_PROG} ] ; then echo $$rootme:{DEMANGLER_PROG} ; else echo {DEMANGLER_PROG}; fi`"
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
## The rules
|
|
|
|
|
|
|
|
|
|
all \Option-f {ADDL_LIBS} {PROGS}
|
|
|
|
|
|
|
|
|
|
testsuite \Option-f
|
|
|
|
|
if [ -f testsuite:Makefile.in ]; then \Option-d
|
|
|
|
|
(rootme=`pwd`: ; export rootme ; \Option-d
|
|
|
|
|
rootsrc=`cd {srcdir}; pwd`: ; export rootsrc ; \Option-d
|
|
|
|
|
cd testsuite; {MAKE} FLAGS_TO_PASS={FLAGS_TO_PASS}); \Option-d
|
|
|
|
|
else true ; fi
|
|
|
|
|
|
|
|
|
|
check \Option-f force
|
|
|
|
|
rootme=`pwd`; export rootme; cd testsuite ; \Option-d
|
|
|
|
|
{MAKE} check {FLAGS_TO_PASS}
|
|
|
|
|
# :bin:sh "{srcdir}"sanity.sh .
|
|
|
|
|
|
|
|
|
|
installcheck \Option-f
|
|
|
|
|
:bin:sh "{srcdir}"sanity.sh {bindir}
|
|
|
|
|
|
|
|
|
|
info \Option-f binutils.info
|
|
|
|
|
|
|
|
|
|
dvi \Option-f binutils.dvi
|
|
|
|
|
|
|
|
|
|
{SIZE_PROG} \Option-f {ADDL_LIBS} "{o}"size.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {SIZE_PROG} "{o}"size.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
{OBJCOPY_PROG} \Option-f {ADDL_LIBS} "{o}"objcopy.c.o "{o}"not-strip.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {OBJCOPY_PROG} "{o}"objcopy.c.o "{o}"not-strip.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
{STRINGS_PROG} \Option-f {ADDL_LIBS} "{o}"strings.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {STRINGS_PROG} "{o}"strings.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
{STRIP_PROG} \Option-f {ADDL_LIBS} "{o}"objcopy.c.o "{o}"is-strip.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {STRIP_PROG} "{o}"objcopy.c.o "{o}"is-strip.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
{NM_PROG} \Option-f {ADDL_LIBS} "{o}"nm.c.o "{o}"demangle.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {NM_PROG} "{o}"nm.c.o "{o}"demangle.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
{OBJDUMP_PROG} \Option-f {ADDL_LIBS} "{o}"objdump.c.o {BFD} {OPCODES}
|
|
|
|
|
Link {LDFLAGS} -o {OBJDUMP_PROG} "{o}"objdump.c.o {OPCODES} {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
"{o}"objdump.c.o \Option-f "{s}"objdump.c config.status
|
|
|
|
|
{CC} {INCLUDES} {HDEFINES} {TDEFINES} {ARCHDEFS} {CFLAGS} "{srcdir}"objdump.c -o "{o}"objdump.c.o
|
|
|
|
|
|
|
|
|
|
:underscore.c \Option-f
|
|
|
|
|
echo "int prepends_underscore = 0;" >underscore.c
|
|
|
|
|
|
|
|
|
|
"{o}"version.c.o \Option-f "{s}"version.c
|
|
|
|
|
{CC} {INCLUDES} {HDEFINES} {TDEFINES} -d VERSION='"{VERSION}"' {CFLAGS} "{srcdir}"version.c -o "{o}"version.c.o
|
|
|
|
|
|
|
|
|
|
"{o}"demangle.c.o \Option-f "{BASEDIR}"libiberty:cplus-dem.c
|
|
|
|
|
{CC} {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} "{BASEDIR}"libiberty:cplus-dem.c -o "{o}"cplus-dem.c.o
|
|
|
|
|
Rename -y "{o}"cplus-dem.c.o "{o}"demangle.c.o
|
|
|
|
|
|
|
|
|
|
# For parallel compiling, depend on "{o}"demangle.c.o so that one gets done first.
|
|
|
|
|
"{o}"cplus-dem.c.o \Option-f "{BASEDIR}"libiberty:cplus-dem.c "{INCDIR}":getopt.h "{o}"demangle.c.o
|
|
|
|
|
{CC} -d MAIN {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} "{BASEDIR}"libiberty:cplus-dem.c -o "{o}"cplus-dem.c.o
|
|
|
|
|
|
|
|
|
|
{DEMANGLER_PROG} \Option-f "{o}"cplus-dem.c.o {LIBIBERTY} "{o}"underscore.c.o "{o}"version.c.o
|
|
|
|
|
Link {LDFLAGS} -o {DEMANGLER_PROG} "{o}"cplus-dem.c.o {LIBIBERTY} {EXTRALIBS} "{o}"underscore.c.o "{o}"version.c.o
|
|
|
|
|
|
|
|
|
|
:arparse.h :arparse.c \Option-f "{s}"arparse.y
|
|
|
|
|
{BISON} {BISONFLAGS} "{srcdir}"arparse.y
|
|
|
|
|
Rename -y y.tab.c :arparse.c
|
|
|
|
|
Rename -y y.tab.h :arparse.h
|
|
|
|
|
|
|
|
|
|
:arlex.c \Option-f "{s}"arlex.l
|
|
|
|
|
{LEX} {LEX_OPTIONS} "{srcdir}"arlex.l
|
|
|
|
|
Rename -y :lex.yy.c :arlex.c
|
|
|
|
|
|
|
|
|
|
{AR_PROG} \Option-f {ADDL_LIBS} "{o}"ar.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"not-ranlib.c.o {BFD} "{o}"arsup.c.o
|
|
|
|
|
Link {LDFLAGS} -o {AR_PROG} "{o}"ar.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"arsup.c.o "{o}"not-ranlib.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
{RANLIB_PROG} \Option-f {ADDL_LIBS} "{o}"ar.c.o "{o}"is-ranlib.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"arsup.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {RANLIB_PROG} "{o}"ar.c.o "{o}"arparse.c.o "{o}"arlex.c.o "{o}"arsup.c.o "{o}"is-ranlib.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
# This rule creates a single binary that switches between ar and ranlib
|
|
|
|
|
# by looking at argv[0]. Use this kludge to save some disk space.
|
|
|
|
|
# However, you have to install things by hand.
|
|
|
|
|
# (That is after 'make install', replace the installed ranlib by a link to ar.)
|
|
|
|
|
|
|
|
|
|
# Alternatively, you can install ranlib.sh as ranlib.
|
|
|
|
|
|
|
|
|
|
ar_with_ranlib \Option-f {ADDL_LIBS} "{o}"ar.c.o "{o}"maybe-ranlib.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {AR_PROG} "{o}"ar.c.o "{o}"maybe-ranlib.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
Delete -y {RANLIB_PROG}
|
|
|
|
|
# ln {AR_PROG} {RANLIB_PROG}
|
|
|
|
|
|
|
|
|
|
# objcopy and strip in one binary that uses argv[0] to decide its action.
|
|
|
|
|
|
|
|
|
|
objcopy_with_strip \Option-f {ADDL_LIBS} "{o}"objcopy.c.o "{o}"maybe-strip.c.o {BFD}
|
|
|
|
|
Link {LDFLAGS} -o {OBJCOPY_PROG} "{o}"objcopy.c.o "{o}"maybe-strip.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
Delete -y {STRIP_PROG}
|
|
|
|
|
# ln {OBJCOPY_PROG} {STRIP_PROG}
|
|
|
|
|
|
|
|
|
|
nlmheader.c \Option-f "{s}"nlmheader.y
|
|
|
|
|
{BISON} "{srcdir}"nlmheader.y
|
|
|
|
|
Delete -y "{s}"nlmheader.c
|
|
|
|
|
Rename -y y.tab.c "{s}"nlmheader.c
|
|
|
|
|
|
|
|
|
|
"{o}"nlmconv.c.o \Option-f "{s}"nlmconv.c
|
|
|
|
|
ldname=`t='{program_transform_name}'; echo ld | sed -e "" $$t`; \Option-d
|
|
|
|
|
{CC} -d LD_NAME="\"${ldname}\"" {INCLUDES} {HDEFINES} {TDEFINES} {CFLAGS} "{srcdir}"nlmconv.c -o "{o}"nlmconv.c.o
|
|
|
|
|
|
|
|
|
|
{NLMCONV_PROG} \Option-f "{o}"nlmconv.c.o "{o}"nlmheader.c.o {ADDL_LIBS} {BFD}
|
|
|
|
|
Link {LDFLAGS} -o $@ "{o}"nlmconv.c.o "{o}"nlmheader.c.o {ADDL_LIBS} {EXTRALIBS}
|
|
|
|
|
|
|
|
|
|
# This list of dependencies was generated by doing a make with gcc -MM
|
|
|
|
|
# saving the output in a file and removing the gcc commands
|
|
|
|
|
# changing "::::devo:binutils:::bfd" to "{BFDDIR}"
|
|
|
|
|
# removing "::::devo:binutils:"
|
|
|
|
|
# changing "::include" to "{INCDIR}"
|
|
|
|
|
|
|
|
|
|
"{o}"bucomm.c.o \Option-f "{s}"bucomm.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h "{s}"bucomm.h
|
|
|
|
|
"{o}"filemode.c.o \Option-f "{s}"filemode.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h
|
|
|
|
|
"{o}"size.c.o \Option-f "{s}"size.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h "{INCDIR}":getopt.h
|
|
|
|
|
"{o}"objdump.c.o \Option-f "{s}"objdump.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h "{INCDIR}":getopt.h \Option-d
|
|
|
|
|
"{INCDIR}":dis-asm.h "{INCDIR}":aout:aout64.h \Option-d
|
|
|
|
|
"{INCDIR}":elf:internal.h {INCDIR}:aout:stab.def
|
|
|
|
|
"{o}"nm.c.o \Option-f "{s}"nm.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h "{s}"bucomm.h "{INCDIR}":getopt.h \Option-d
|
|
|
|
|
"{INCDIR}":aout:stab_gnu.h {INCDIR}:aout:stab.def \Option-d
|
|
|
|
|
"{INCDIR}":aout:ranlib.h "{INCDIR}":demangle.h
|
|
|
|
|
"{o}"ar.c.o \Option-f "{s}"ar.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h "{s}"bucomm.h "{INCDIR}":aout:ar.h \Option-d
|
|
|
|
|
"{BFDDIR}":libbfd.h "{s}"arsup.h
|
|
|
|
|
"{o}"arparse.c.o \Option-f :arparse.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h "{s}"arsup.h
|
|
|
|
|
"{o}"arlex.c.o \Option-f :arlex.c :arparse.h
|
|
|
|
|
"{o}"not-ranlib.c.o \Option-f "{s}"not-ranlib.c
|
|
|
|
|
"{o}"arsup.c.o \Option-f "{s}"arsup.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h "{s}"arsup.h "{s}"bucomm.h
|
|
|
|
|
"{o}"strings.c.o \Option-f "{s}"strings.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h "{s}"bucomm.h
|
|
|
|
|
"{o}"objcopy.c.o \Option-f "{s}"objcopy.c ::bfd:bfd.h "{INCDIR}":ansidecl.h \Option-d
|
|
|
|
|
"{INCDIR}":obstack.h ::bfd:sysdep.h "{BFDDIR}":hosts:std-host.h \Option-d
|
|
|
|
|
"{INCDIR}":fopen-same.h "{s}"bucomm.h
|
|
|
|
|
"{o}"is-strip.c.o \Option-f "{s}"is-strip.c
|
|
|
|
|
"{o}"is-ranlib.c.o \Option-f "{s}"is-ranlib.c
|
|
|
|
|
"{o}"underscore.c.o \Option-f :underscore.c
|
|
|
|
|
"{o}"not-strip.c.o \Option-f "{s}"not-strip.c
|
|
|
|
|
"{o}"nlmheader.c.o \Option-f "{s}"nlmheader.c "{s}"nlmconv.h "{INCDIR}":nlm:common.h \Option-d
|
|
|
|
|
"{INCDIR}":nlm:internal.h
|
|
|
|
|
"{o}"nlmconv.c.o \Option-f "{INCDIR}":nlm:common.h "{INCDIR}":nlm:internal.h \Option-d
|
|
|
|
|
"{BFDDIR}":libnlm.h "{s}"bucomm.h
|
|
|
|
|
|
|
|
|
|
stage1 \Option-f force
|
|
|
|
|
mkdir stage1
|
|
|
|
|
Rename -y {STAGESTUFF} stage1
|
|
|
|
|
|
|
|
|
|
stage2 \Option-f force
|
|
|
|
|
mkdir stage2
|
|
|
|
|
Rename -y {STAGESTUFF} stage2
|
|
|
|
|
|
|
|
|
|
stage3 \Option-f force
|
|
|
|
|
mkdir stage3
|
|
|
|
|
Rename -y {STAGESTUFF} stage3
|
|
|
|
|
|
|
|
|
|
against=stage2
|
|
|
|
|
|
|
|
|
|
comparison \Option-f force
|
|
|
|
|
for i in {STAGESTUFF} ; do cmp $$i {against}:$$i ; done
|
|
|
|
|
|
|
|
|
|
de-stage1 \Option-f force
|
|
|
|
|
(cd stage1 ; mv -f \Option-x ..)
|
|
|
|
|
rmdir stage1
|
|
|
|
|
|
|
|
|
|
de-stage2 \Option-f force
|
|
|
|
|
(cd stage2 ; mv -f \Option-x ..)
|
|
|
|
|
rmdir stage2
|
|
|
|
|
|
|
|
|
|
de-stage3 \Option-f force
|
|
|
|
|
(cd stage3 ; mv -f \Option-x ..)
|
|
|
|
|
rmdir stage3
|
|
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
|
# DOCUMENTATION TARGETS
|
|
|
|
|
# TeX output
|
|
|
|
|
binutils.dvi \Option-f "{srcdir}"binutils.texi
|
|
|
|
|
TEXINPUTS={TEXIDIR} \Option-f $$TEXINPUTS {TEXI2DVI} "{srcdir}"binutils.texi
|
|
|
|
|
|
|
|
|
|
# info file for online browsing
|
|
|
|
|
binutils.info \Option-f "{srcdir}"binutils.texi
|
|
|
|
|
{MAKEINFO} -o binutils.info "{srcdir}"binutils.texi
|
|
|
|
|
|
|
|
|
|
# different targets for -ms, -mm, -me
|
|
|
|
|
# Try to use a recent texi2roff. v2 was put on prep in jan91.
|
|
|
|
|
# If you want an index, see texi2roff doc for postprocessing
|
|
|
|
|
# and add -i to texi2roff invocations below.
|
|
|
|
|
# Workarounds for texi2roff-2 (probably fixed in later texi2roff's, delete
|
|
|
|
|
# corresponding -e lines when later texi2roff's are current)
|
|
|
|
|
# + @ifinfo's deleted explicitly due to texi2roff-2 bug w nested constructs.
|
|
|
|
|
# + @c's deleted explicitly because texi2roff sees texinfo commands in them
|
|
|
|
|
# + @ (that's at-BLANK) not recognized by texi2roff, turned into blank
|
|
|
|
|
# + @alphaenumerate is ridiculously new, turned into @enumerate
|
|
|
|
|
|
|
|
|
|
# roff output (-ms)
|
|
|
|
|
binutils.ms \Option-f "{srcdir}"binutils.texi
|
|
|
|
|
sed -e ':\\input texinfo:d' \Option-d
|
|
|
|
|
e ':@c TEXI2ROFF-KILL:,:@c END TEXI2ROFF-KILL:d' \Option-d
|
|
|
|
|
e ':^end ifinfo:d' \Option-d
|
|
|
|
|
e ':^@c:d' \Option-d
|
|
|
|
|
e 's:{.\Option-x,,:{:' \Option-d
|
|
|
|
|
e 's:@ : :g' \Option-d
|
|
|
|
|
e 's:^enumerate:g' \Option-d
|
|
|
|
|
e 's:^@end alphaenumerate:@end enumerate:g' \Option-d
|
|
|
|
|
"{srcdir}"binutils.texi | \Option-d
|
|
|
|
|
{TEXI2ROFF} -ms | \Option-d
|
|
|
|
|
sed -e 's:---:\\(em:g' \Option-d
|
|
|
|
|
>binutils.ms
|
|
|
|
|
|
|
|
|
|
# roff output (-mm)
|
|
|
|
|
# '@noindent's removed due to texi2roff-2 mm bug; if yours is newer,
|
|
|
|
|
# try leaving them in
|
|
|
|
|
binutils.mm \Option-f "{srcdir}"binutils.texi
|
|
|
|
|
sed -e ':\\input texinfo:d' \Option-d
|
|
|
|
|
e ':@c TEXI2ROFF-KILL:,:@c END TEXI2ROFF-KILL:d' \Option-d
|
|
|
|
|
e ':^end ifinfo:d' \Option-d
|
|
|
|
|
e ':^@c:d' \Option-d
|
|
|
|
|
e 's:{.\Option-x,,:{:' \Option-d
|
|
|
|
|
e ':@noindent:d' \Option-d
|
|
|
|
|
e 's:@ : :g' \Option-d
|
|
|
|
|
e 's:^enumerate:g' \Option-d
|
|
|
|
|
e 's:^@end alphaenumerate:@end enumerate:g' \Option-d
|
|
|
|
|
"{srcdir}"binutils.texi | \Option-d
|
|
|
|
|
{TEXI2ROFF} -mm | \Option-d
|
|
|
|
|
sed -e 's:---:\\(em:g' \Option-d
|
|
|
|
|
>binutils.mm
|
|
|
|
|
|
|
|
|
|
# roff output (-me)
|
|
|
|
|
binutils.me \Option-f "{srcdir}"binutils.texi
|
|
|
|
|
sed -e ':\\input texinfo:d' \Option-d
|
|
|
|
|
e ':@c TEXI2ROFF-KILL:,:@c END TEXI2ROFF-KILL:d' \Option-d
|
|
|
|
|
e ':^end ifinfo:d' \Option-d
|
|
|
|
|
e ':^@c:d' \Option-d
|
|
|
|
|
e 's:{.\Option-x,,:{:' \Option-d
|
|
|
|
|
e 's:@ : :g' \Option-d
|
|
|
|
|
e 's:^enumerate:g' \Option-d
|
|
|
|
|
e 's:^@end alphaenumerate:@end enumerate:g' \Option-d
|
|
|
|
|
"{srcdir}"binutils.texi | \Option-d
|
|
|
|
|
{TEXI2ROFF} -me | \Option-d
|
|
|
|
|
sed -e 's:---:\\(em:g' \Option-d
|
|
|
|
|
>binutils.me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
|
|
|
|
|
|
mostlyclean \Option-f
|
|
|
|
|
Delete -y "{o}"\Option-x.c.o \Option-x~ \#\Option-x core binutils.?? binutils.???
|
|
|
|
|
clean \Option-f mostlyclean
|
|
|
|
|
@if [ -d testsuite ] ; then \Option-d
|
|
|
|
|
cd testsuite ; {MAKE} {FLAGS_TO_PASS} clean ; \Option-d
|
|
|
|
|
else true; fi
|
|
|
|
|
Delete -y {PROGS} :underscore.c
|
|
|
|
|
distclean \Option-f
|
|
|
|
|
@if [ -d testsuite ] ; then \Option-d
|
|
|
|
|
cd testsuite ; {MAKE} {FLAGS_TO_PASS} distclean ; \Option-d
|
|
|
|
|
else true; fi
|
|
|
|
|
Delete -y Makefile config.status "{s}"sysdep.h "{o}"\Option-x.c.o \Option-x~ \#\Option-x core \Option-d
|
|
|
|
|
binutils.?? binutils.??s binutils.aux "{s}"binutils.log binutils.toc
|
|
|
|
|
realclean \Option-f clean distclean
|
|
|
|
|
Delete -y {DISTSTUFF} TAGS
|
|
|
|
|
|
|
|
|
|
etags tags \Option-f TAGS
|
|
|
|
|
|
|
|
|
|
TAGS \Option-f force
|
|
|
|
|
etags {INCDIR}:\Option-x.h "{srcdir}"\Option-x.[hc]
|
|
|
|
|
|
|
|
|
|
install \Option-f all
|
|
|
|
|
for i in {PROGS} ; do \Option-d
|
|
|
|
|
{INSTALL_XFORM} $$i {bindir}:$$i ; \Option-d
|
|
|
|
|
done
|
|
|
|
|
for i in {MANPAGES} ; do \Option-d
|
|
|
|
|
{INSTALL_XFORM1} "{srcdir}"$$i.1 {man1dir}:$$i.1 ; \Option-d
|
|
|
|
|
done
|
|
|
|
|
if [ -d {tooldir} ]; then \Option-d
|
|
|
|
|
if [ -d {tooldir}:bin ] ; then true ; else mkdir {tooldir}:bin ; fi; \Option-d
|
|
|
|
|
for i in nm strip ar ranlib; do \Option-d
|
|
|
|
|
Delete -y {tooldir}:bin:$$i; \Option-d
|
|
|
|
|
# ln {bindir}:`t='{program_transform_name}'; echo $$i | sed -e "" $$t` {tooldir}:bin:$$i \Option-d
|
|
|
|
|
|| {INSTALL_PROGRAM} $$i {tooldir}:bin:$$i; \Option-d
|
|
|
|
|
done; \Option-d
|
|
|
|
|
else true; fi
|
|
|
|
|
|
|
|
|
|
# Use binutils.info as the target so that VPATH will DTRT.
|
|
|
|
|
# (Use "$<\Option-x" in case the output is multiple files, though.)
|
|
|
|
|
install-info \Option-f binutils.info
|
|
|
|
|
for i in $<\Option-x ; do \Option-d
|
|
|
|
|
{INSTALL_DATA} $$i {infodir}:$$i ; \Option-d
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
clean-info \Option-f
|
|
|
|
|
Delete -y -rf \Option-x.info\Option-x
|
|
|
|
|
|
|
|
|
|
# Making a dist \Option-f
|
|
|
|
|
# cvs rtag binutils-x-yy ld+utils
|
|
|
|
|
# cvs co -r binutils-x-yy ld+utils
|
|
|
|
|
# Sanitize
|
|
|
|
|
# cd {HERE}; make dist [-f Makefile.in]
|
|
|
|
|
|
|
|
|
|
dist \Option-f {DIST_NAME}.tar.z
|
|
|
|
|
|
|
|
|
|
diststuff \Option-f {DISTSTUFF}
|
|
|
|
|
|
|
|
|
|
{DIST_NAME}.tar.z \Option-f
|
|
|
|
|
cd ::..; rm -f {DIST_NAME}; ln -s devo {DIST_NAME}
|
|
|
|
|
make diststuff -f Makefile.in
|
|
|
|
|
cd ::ld; make diststuff -f Makefile.in
|
|
|
|
|
cd ::gprof; make diststuff -f Makefile.in
|
|
|
|
|
cd ::texinfo; mv texinfo.tex ..; rm -rf \Option-x; mv ::texinfo.tex .
|
|
|
|
|
# Take out texinfo from configurable dirs
|
|
|
|
|
Rename -y ::configure.in tmp; \Option-d
|
|
|
|
|
sed -e ':^host_tools=:s:texinfo ::' <tmp >::configure.in; rm tmp
|
|
|
|
|
cd ..; chmod og=u `find . -print`
|
|
|
|
|
cd ::..; tar chf - {DIST_NAME} | gzip >{DIST_NAME}.tar.z
|
|
|
|
|
Delete -y -rf ::::{DIST_NAME}
|
|
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
# 'STANDARD' GNU:960 TARGETS BELOW THIS POINT
|
|
|
|
|
#
|
|
|
|
|
# 'VERSION' file must be present and contain a string of the form "{s}""x.y"
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
ver960.c \Option-f FORCE
|
|
|
|
|
Delete -y "{s}"ver960.c
|
|
|
|
|
echo "char {TARG}_ver[]= \"{TARG} `cat VERSION`, `date`\";" > "{s}"ver960.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Dummy target to force execution of dependent targets.
|
|
|
|
|
#
|
|
|
|
|
force \Option-f
|
|
|
|
|
|
|
|
|
|
# Target to uncomment host-specific lines in this makefile. Such lines must
|
|
|
|
|
# have the following string beginning in column 1 \Option-f #__<hostname>__#
|
|
|
|
|
# Original Makefile is backed up as "{o}"'Makefile.c.old'.
|
|
|
|
|
#
|
|
|
|
|
# Invoke with \Option-f make make HOST=xxx
|
|
|
|
|
#
|
|
|
|
|
make \Option-f
|
|
|
|
|
@if test {HOST}x = x ; then \Option-d
|
|
|
|
|
echo 'Specify "make make HOST=???"'; \Option-d
|
|
|
|
|
exit 1; \Option-d
|
|
|
|
|
fi ; \Option-d
|
|
|
|
|
grep -s "^#The next line was generated by 'make make'" Makefile; \Option-d
|
|
|
|
|
if test $$? = 0 ; then \Option-d
|
|
|
|
|
echo "Makefile has already been processed with 'make make'";\Option-d
|
|
|
|
|
exit 1; \Option-d
|
|
|
|
|
fi ; \Option-d
|
|
|
|
|
Rename -y Makefile "{o}"Makefile.c.old; \Option-d
|
|
|
|
|
echo "#The next line was generated by 'make make'" >Makefile ; \Option-d
|
|
|
|
|
echo "HOST={HOST}" >>Makefile ; \Option-d
|
|
|
|
|
echo >>Makefile ; \Option-d
|
|
|
|
|
sed "s:^#__{HOST}__#::" < "{o}"Makefile.c.old >>Makefile
|
|
|
|
|
|
|
|
|
|
Makefile \Option-f "{srcdir}"Makefile.in {host_makefile_frag} {target_makefile_frag}
|
|
|
|
|
{SHELL} :config.status
|
|
|
|
|
|
|
|
|
|
### Local Variables \Option-f \Option-x\Option-x\Option-x
|
|
|
|
|
### mode \Option-f fundamental \Option-x\Option-x\Option-x
|
|
|
|
|
### page-delimiter \Option-f "^#" \Option-x\Option-x\Option-x
|
|
|
|
|
### End \Option-f \Option-x\Option-x\Option-x
|
|
|
|
|
### end of file
|