Set correct values for NM, SIZE etc...
[deliverable/binutils-gdb.git] / binutils / Makefile.in
index e339dc57b54406d63c087143d186d32dedbf0f6f..297044a95bb20ff2d010523b3b0b1d432b7030e6 100644 (file)
@@ -1,5 +1,5 @@
 # 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.
 
@@ -70,16 +70,16 @@ LEX_OPTIONS = -I -Cem
 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
@@ -102,22 +102,23 @@ DEMANGLER_PROG=c++filt
 
 NLMCONV_PROG=nlmconv
 
-PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) $(NLMCONV_PROG)
+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)/..
-LIBDIR  = ./../bfd
-OPCODEDIR = ./../opcodes
+BFDDIR = $(BASEDIR)/bfd
+INCDIR = $(BASEDIR)/include
+INCLUDES = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR)
 
 #### host and target dependant Makefile fragments come in here.
 ###
 
-INCLUDES = -I. -I$(srcdir) -I../bfd -I$(BASEDIR)/include -I$(BASEDIR)/bfd
+ALL_CFLAGS = $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS)
 
 .c.o:
-       $(CC) -c $(CFLAGS) $(INCLUDES) $(HDEFINES) $(TDEFINES) $<
+       $(CC) -c $(ALL_CFLAGS) $<
 
 #\f
 ## Random definitions
@@ -131,21 +132,21 @@ INCLUDES = -I. -I$(srcdir) -I../bfd -I$(BASEDIR)/include -I$(BASEDIR)/bfd
 # 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
 # libmalloc rather than the ordinary malloc.
-LIBIBERTY_SRC_DIR = $(srcdir)/../libiberty
-LIBIBERTY_BIN_DIR = ./../libiberty
-LIBIBERTY = $(LIBIBERTY_BIN_DIR)/libiberty.a
+LIBIBERTY = ../libiberty/libiberty.a
 
 # Code shared by all the binutils.
 BULIBS = bucomm.o version.o filemode.o
 
 ADDL_LIBS = $(MALLOC) $(BULIBS) $(BFD) $(LIBIBERTY) 
 
-BFD = $(LIBDIR)/libbfd.a
-OPCODES = $(OPCODEDIR)/libopcodes.a
+BFD = ../bfd/libbfd.a
+OPCODES = ../opcodes/libopcodes.a
 
 RUNTEST = runtest
 RUNTESTFLAGS = 
@@ -188,30 +189,31 @@ info: binutils.info
 
 dvi: binutils.dvi
 
-#$(BFD):$(LIBDIR)/../common/*.c
-#      (cd $(LIBDIR); make)
-
 $(SIZE_PROG): $(ADDL_LIBS) size.o $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -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) $(CFLAGS) -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) $(CFLAGS) -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) $(CFLAGS) -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 $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -o $(NM_PROG) nm.o $(ADDL_LIBS) $(EXTRALIBS)
+$(NM_PROG): $(ADDL_LIBS) nm.o demangle.o $(BFD)
+       $(CC) $(CFLAGS) $(LDFLAGS) -o $(NM_PROG) nm.o demangle.o $(ADDL_LIBS) $(EXTRALIBS)
 
 $(OBJDUMP_PROG): $(ADDL_LIBS) objdump.o $(BFD) $(OPCODES)
-       $(CC) $(LDFLAGS) $(CFLAGS) -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
 
 underscore.c:
        echo "int xxy_us_dummy;" >dummy.c
        $(CC) -c dummy.c
+       rm -f underscore.c
        echo '/*WARNING: This file is automatically generated!*/' >underscore.c
        if [ "`$(NM) dummy.o | grep _xxy_us_dummy ; true`" != "" ]; then \
          echo "int prepends_underscore = 1;" >>underscore.c; \
@@ -220,27 +222,34 @@ underscore.c:
        fi
        -rm -f dummy.c dummy.o
 
-cplus-dem.o: $(LIBIBERTY_SRC_DIR)/cplus-dem.c
-       $(CC) -c -DMAIN $(CFLAGS) $(INCLUDES) $(HDEFINES) $(TDEFINES) $(LIBIBERTY_SRC_DIR)/cplus-dem.c
+version.o: version.c
+       $(CC) $(INCLUDES) $(HDEFINES) $(TDEFINES) -DVERSION='"$(VERSION)"' $(CFLAGS) -c $(srcdir)/version.c
+
+demangle.o: $(BASEDIR)/libiberty/cplus-dem.c
+       $(CC) -c $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS) $(BASEDIR)/libiberty/cplus-dem.c
+       mv cplus-dem.o demangle.o
+
+# For parallel compiling, depend on demangle.o so that one gets done first.
+cplus-dem.o: $(BASEDIR)/libiberty/cplus-dem.c $(INCDIR)/getopt.h demangle.o
+       $(CC) -c -DMAIN $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CFLAGS) $(BASEDIR)/libiberty/cplus-dem.c
 
 $(DEMANGLER_PROG): cplus-dem.o $(LIBIBERTY) underscore.o version.o
-       $(CC) $(LDFLAGS) $(CFLAGS) -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
 
-
 arlex.c: arlex.l
        $(LEX) $(LEX_OPTIONS) $(srcdir)/arlex.l
        mv lex.yy.c arlex.c
 
 $(AR_PROG): $(ADDL_LIBS) ar.o arparse.o arlex.o not-ranlib.o $(BFD) arsup.o
-       $(CC) $(LDFLAGS) $(CFLAGS) -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) $(CFLAGS) -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.
@@ -250,30 +259,76 @@ $(RANLIB_PROG): $(ADDL_LIBS) ar.o is-ranlib.o arparse.o arlex.o arsup.o $(BFD)
 # Alternatively, you can install ranlib.sh as ranlib.
 
 ar_with_ranlib: $(ADDL_LIBS) ar.o maybe-ranlib.o $(BFD)
-       $(CC) $(LDFLAGS) $(CFLAGS) -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) $(CFLAGS) -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)
 
 nlmheader.c: nlmheader.y
-       $(BISON) $<
+       $(BISON) $(srcdir)/nlmheader.y
        rm -f nlmheader.c
-       mv y.tab.c nlmheader.c
-
-nlmheader.o: nlmheader.c nlmconv.h $(BASEDIR)/include/nlm/common.h \
-  $(BASEDIR)/include/nlm/internal.h
+       -mv y.tab.c nlmheader.c
 
-nlmconv.o: nlmconv.c nlmconv.h $(BASEDIR)/include/nlm/common.h \
-  $(BASEDIR)/include/nlm/internal.h $(BASEDIR)/bfd/libnlm.h
+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) $(CFLAGS) -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
+# changing "../../devo/binutils/../bfd" to "$(BFDDIR)"
+# removing "../../devo/binutils/"
+# changing "../include" to "$(INCDIR)"
+
+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 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 
+size.o: size.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
+  $(INCDIR)/fopen-same.h $(INCDIR)/getopt.h 
+objdump.o: objdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
+  $(INCDIR)/fopen-same.h $(INCDIR)/getopt.h \
+  $(INCDIR)/dis-asm.h $(INCDIR)/aout/aout64.h \
+  $(INCDIR)/elf/internal.h $(INCDIR)/aout/stab.def 
+nm.o: nm.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
+  $(INCDIR)/fopen-same.h bucomm.h $(INCDIR)/getopt.h \
+  $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
+  $(INCDIR)/aout/ranlib.h $(INCDIR)/demangle.h
+ar.o: ar.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
+  $(INCDIR)/fopen-same.h bucomm.h $(INCDIR)/aout/ar.h \
+  $(BFDDIR)/libbfd.h arsup.h 
+arparse.o: arparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h arsup.h 
+arlex.o: arlex.c ./arparse.h 
+not-ranlib.o: not-ranlib.c 
+arsup.o: arsup.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h arsup.h bucomm.h 
+strings.o: strings.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h bucomm.h 
+objcopy.o: objcopy.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/obstack.h ../bfd/sysdep.h $(BFDDIR)/hosts/std-host.h \
+  $(INCDIR)/fopen-same.h bucomm.h 
+is-strip.o: is-strip.c 
+is-ranlib.o: is-ranlib.c 
+not-strip.o: not-strip.c 
+nlmheader.o: nlmheader.c nlmconv.h $(INCDIR)/nlm/common.h \
+  $(INCDIR)/nlm/internal.h
+nlmconv.o: $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
+  $(BFDDIR)/libnlm.h bucomm.h
 
 stage1: force
        - mkdir stage1
@@ -308,7 +363,7 @@ de-stage3: force
 # 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
@@ -319,7 +374,7 @@ 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
@@ -379,16 +434,23 @@ binutils.me: $(srcdir)/binutils.texi
 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
 
 TAGS: force
-       etags $(srcdir)/../include/*.h $(srcdir)/*.[hc] 
+       etags $(INCDIR)/*.h $(srcdir)/*.[hc] 
 
 install: all
        for i in $(PROGS) ; do \
@@ -399,15 +461,17 @@ install: all
        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
 
@@ -437,32 +501,6 @@ $(DIST_NAME).tar.z:
        cd ../..; tar chf - $(DIST_NAME) | gzip >$(DIST_NAME).tar.z
        rm -rf ../../$(DIST_NAME)
 
-# These get around a bug in Sun Make in SunOS 4.1.1
-alloca.o:alloca.c
-ar.o: ar.c
-arsup.o: arsup.c
-bucomm.o: bucomm.c
-objcopy.o: objcopy.c
-filemode.o:filemode.c
-getopt.o:getopt.c
-getopt1.o:getopt1.c
-gmalloc.o:gmalloc.c
-is-ranlib.o:is-ranlib.c
-is-strip.o:is-strip.c
-maybe-ranlib.o:maybe-ranlib.c
-maybe-strip.o:maybe-strip.c
-nm.o: nm.c
-not-ranlib.o:not-ranlib.c
-not-strip.o:not-strip.c
-objdump.o: objdump.c
-size.o: size.c
-strings.o:strings.c
-strip.o:strip.c
-version.o: $(srcdir)/version.c
-       $(CC) $(CFLAGS) $(INCLUDES) $(HDEFINES) $(TDEFINES) -DVERSION='"$(VERSION)"' -c $(srcdir)/version.c
-
-ar.o arsup.o nm.o objcopy.o strings.o: bucomm.h
-
 #-----------------------------------------------------------------------------
 #              'STANDARD' GNU/960 TARGETS BELOW THIS POINT
 #
This page took 0.027911 seconds and 4 git commands to generate.