# Makefile for GNU binary-file utilities
-# Copyright (C) 1992, 1993 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
# This file is part of GNU binutils.
LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo flex ; fi`
# Distribution version
-VERSION=2.2
+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/fsf
+TEXIDIR = $(srcdir)/../texinfo
-MANPAGES= ar nm objdump ranlib size strings strip c++filt objcopy
+MANPAGES= ar nm objdump ranlib size strings strip c++filt objcopy nlmconv
#CC=gcc -Wall
# these two are almost the same program
PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) $(BUILD_NLMCONV)
STAGESTUFF = $(PROGS) *.o
# Files that can be generated, but should be in the distribution.
-DISTSTUFF=arparse.c arlex.c
+DISTSTUFF=arparse.c arlex.c nlmheader.c info
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
#### host and target dependant Makefile fragments come in here.
###
+ALL_CFLAGS = $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS)
+
.c.o:
- $(CC) -c $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS) $<
+ $(CC) -c $(ALL_CFLAGS) $<
#\f
## Random definitions
# fail unnecessarily. I've also seen some Unix malloc's fail, even when
# there is enough memory. So use the new GNU malloc.
# MALLOC = gmalloc.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
dvi: binutils.dvi
$(SIZE_PROG): $(ADDL_LIBS) size.o $(BFD)
- $(CC) $(LDFLAGS) -o $(SIZE_PROG) size.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(SIZE_PROG) size.o $(ADDL_LIBS) $(EXTRALIBS)
$(OBJCOPY_PROG): $(ADDL_LIBS) objcopy.o not-strip.o $(BFD)
- $(CC) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o not-strip.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o not-strip.o $(ADDL_LIBS) $(EXTRALIBS)
$(STRINGS_PROG): $(ADDL_LIBS) strings.o $(BFD)
- $(CC) $(LDFLAGS) -o $(STRINGS_PROG) strings.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(STRINGS_PROG) strings.o $(ADDL_LIBS) $(EXTRALIBS)
$(STRIP_PROG): $(ADDL_LIBS) objcopy.o is-strip.o $(BFD)
- $(CC) $(LDFLAGS) -o $(STRIP_PROG) objcopy.o is-strip.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(STRIP_PROG) objcopy.o is-strip.o $(ADDL_LIBS) $(EXTRALIBS)
$(NM_PROG): $(ADDL_LIBS) nm.o demangle.o $(BFD)
- $(CC) $(LDFLAGS) -o $(NM_PROG) nm.o demangle.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(NM_PROG) nm.o demangle.o $(ADDL_LIBS) $(EXTRALIBS)
$(OBJDUMP_PROG): $(ADDL_LIBS) objdump.o $(BFD) $(OPCODES)
- $(CC) $(LDFLAGS) -o $(OBJDUMP_PROG) objdump.o $(OPCODES) $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OBJDUMP_PROG) objdump.o $(OPCODES) $(ADDL_LIBS) $(EXTRALIBS)
objdump.o: objdump.c config.status
$(CC) -c $(INCLUDES) $(HDEFINES) $(TDEFINES) $(ARCHDEFS) $(CFLAGS) $(srcdir)/objdump.c
$(CC) -c -DMAIN $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS) $(BASEDIR)/libiberty/cplus-dem.c
$(DEMANGLER_PROG): cplus-dem.o $(LIBIBERTY) underscore.o version.o
- $(CC) $(LDFLAGS) -o $(DEMANGLER_PROG) cplus-dem.o $(LIBIBERTY) $(EXTRALIBS) underscore.o version.o
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(DEMANGLER_PROG) cplus-dem.o $(LIBIBERTY) $(EXTRALIBS) underscore.o version.o
-arparse.c: arparse.y
+arparse.h arparse.c: arparse.y
$(BISON) $(BISONFLAGS) $(srcdir)/arparse.y
-mv y.tab.c arparse.c
-mv y.tab.h arparse.h
mv lex.yy.c arlex.c
$(AR_PROG): $(ADDL_LIBS) ar.o arparse.o arlex.o not-ranlib.o $(BFD) arsup.o
- $(CC) $(LDFLAGS) -o $(AR_PROG) ar.o arparse.o arlex.o arsup.o not-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o arparse.o arlex.o arsup.o not-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
$(RANLIB_PROG): $(ADDL_LIBS) ar.o is-ranlib.o arparse.o arlex.o arsup.o $(BFD)
- $(CC) $(LDFLAGS) -o $(RANLIB_PROG) ar.o arparse.o arlex.o arsup.o is-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(RANLIB_PROG) ar.o arparse.o arlex.o arsup.o is-ranlib.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.
# Alternatively, you can install ranlib.sh as ranlib.
ar_with_ranlib: $(ADDL_LIBS) ar.o maybe-ranlib.o $(BFD)
- $(CC) $(LDFLAGS) -o $(AR_PROG) ar.o maybe-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o maybe-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
-rm -f $(RANLIB_PROG)
-ln $(AR_PROG) $(RANLIB_PROG)
# objcopy and strip in one binary that uses argv[0] to decide its action.
objcopy_with_strip: $(ADDL_LIBS) objcopy.o maybe-strip.o $(BFD)
- $(CC) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o maybe-strip.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o maybe-strip.o $(ADDL_LIBS) $(EXTRALIBS)
-rm -f $(STRIP_PROG)
-ln $(OBJCOPY_PROG) $(STRIP_PROG)
rm -f nlmheader.c
-mv y.tab.c nlmheader.c
+nlmconv.o: nlmconv.c
+ ldname=`t='$(program_transform_name)'; echo ld | sed -e "" $$t`; \
+ $(CC) -c -DLD_NAME="\"$${ldname}\"" $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS) $(srcdir)/nlmconv.c
+
$(NLMCONV_PROG): nlmconv.o nlmheader.o $(ADDL_LIBS) $(BFD)
- $(CC) $(LDFLAGS) -o $@ nlmconv.o nlmheader.o $(ADDL_LIBS) $(EXTRALIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ nlmconv.o nlmheader.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
bucomm.o: bucomm.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
$(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
- $(INCDIR)/fopen-same.h
+ $(INCDIR)/fopen-same.h bucomm.h
filemode.o: filemode.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
$(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
$(INCDIR)/fopen-same.h
not-strip.o: not-strip.c
nlmheader.o: nlmheader.c nlmconv.h $(INCDIR)/nlm/common.h \
$(INCDIR)/nlm/internal.h
-nlmconv.o: nlmconv.c nlmconv.h $(INCDIR)/nlm/common.h \
- $(INCDIR)/nlm/internal.h $(BFDDIR)/libnlm.h bucomm.h
+nlmconv.o: $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
+ $(BFDDIR)/libnlm.h bucomm.h
stage1: force
- mkdir stage1
# DOCUMENTATION TARGETS
# TeX output
binutils.dvi: $(srcdir)/binutils.texi
- $(TEXI2DVI) $(srcdir)/binutils.texi
+ TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/binutils.texi
# info file for online browsing
binutils.info: $(srcdir)/binutils.texi
# 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
-# correspondint -e lines when later texi2roff's are current)
+# 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
mostlyclean:
-rm -f *.o *~ \#* core binutils.?? binutils.???
clean: mostlyclean
+ @if [ -d testsuite ] ; then \
+ cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) clean ; \
+ else true; fi
-rm -f $(PROGS) underscore.c
-distclean: clean
- -rm -f Makefile config.status sysdep.h
-realclean: distclean
+distclean:
+ @if [ -d testsuite ] ; then \
+ cd testsuite ; $(MAKE) $(FLAGS_TO_PASS) distclean ; \
+ else true; fi
+ -rm -f Makefile config.status sysdep.h *.o *~ \#* core \
+ binutils.?? binutils.??s binutils.aux binutils.log binutils.toc
+realclean: clean distclean
-rm -f $(DISTSTUFF) TAGS
etags tags: TAGS
done
-if [ -d $(tooldir) ]; then \
if [ -d $(tooldir)/bin ] ; then true ; else mkdir $(tooldir)/bin ; fi; \
- for i in nm strings strip ar ranlib; do \
+ for i in nm strip ar ranlib; do \
rm -f $(tooldir)/bin/$$i; \
ln $(bindir)/`t='$(program_transform_name)'; echo $$i | sed -e "" $$t` $(tooldir)/bin/$$i \
|| $(INSTALL_PROGRAM) $$i $(tooldir)/bin/$$i; \
done; \
else true; fi
-install-info: info
- for i in *.info* ; do \
+# Use binutils.info as the target so that VPATH will DTRT.
+# (Use "$<*" in case the output is multiple files, though.)
+install-info: binutils.info
+ for i in $<* ; do \
$(INSTALL_DATA) $$i $(infodir)/$$i ; \
done