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 MANPAGES= ar nm objdump ranlib size strings strip cplusfilt objcopy nlmconv #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. DEMANGLER_PROG=cplusfilt 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 INCLUDES = -i "{INCDIR}":mpw: -i ::extra-include: -i : -i {srcdir} -i ::bfd: -i {BFDDIR} -i {INCDIR} #### 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 install-only install-only \Option-f If "`Exists "{prefix}"`" == "" Echo "{prefix}" does not exist, cannot install anything Exit 1 End If If "`Exists "{bindir}"`" == "" NewFolder "{bindir}" End If # Need to copy all the tools For prog in {PROGS} Duplicate -y :{prog} "{bindir}"{prog} End For # 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 ::' ::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 #____# # 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