]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - binutils/Makefile.am
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / binutils / Makefile.am
index 2ee03bfb604fe8ae2d64dee17794177ab184bab9..0152f6f5de228b6f6299bb2eb43c4984997599e5 100644 (file)
@@ -1,12 +1,21 @@
 ## Process this file with automake to generate Makefile.in
 
-AUTOMAKE_OPTIONS = dejagnu
+## FIXME: Work around apparent bug in automake.
+INTLLIBS = @INTLLIBS@
+
+AUTOMAKE_OPTIONS = cygnus dejagnu
+
+SUBDIRS = po
 
 tooldir = $(exec_prefix)/$(target_alias)
 
+## These aren't set by automake, because they appear in
+## bfd/acinclude.m4, which is included by binutils/acinclude.m4, and
+## thus is not seen by automake.
 CC_FOR_BUILD = @CC_FOR_BUILD@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
 
-YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo bison -y ; fi`
+YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L$(srcdir)/../bison/ ; else echo bison -y ; fi`
 YFLAGS = -d
 LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo flex ; fi`
 
@@ -16,13 +25,15 @@ RANLIB_PROG=ranlib
 
 # objcopy and strip should be the same program
 OBJCOPY_PROG=objcopy
-STRIP_PROG=strip.new
+STRIP_PROG=strip-new
 
 STRINGS_PROG=strings
 
+READELF_PROG=readelf
+
 # These should all be the same program too.
 SIZE_PROG=size
-NM_PROG=nm.new
+NM_PROG=nm-new
 OBJDUMP_PROG=objdump
 
 # This is the demangler, as a standalone program.
@@ -34,25 +45,25 @@ ADDR2LINE_PROG=addr2line
 NLMCONV_PROG=nlmconv
 DLLTOOL_PROG=dlltool
 WINDRES_PROG=windres
+DLLWRAP_PROG=dllwrap
 
-SRCONV_PROG=srconv sysdump coffdump 
+SRCONV_PROG=srconv$(EXEEXT) sysdump$(EXEEXT) coffdump$(EXEEXT) 
 
 man_MANS = ar.1 nm.1 objdump.1 ranlib.1 size.1 strings.1 strip.1 objcopy.1 \
        addr2line.1 nlmconv.1 $(DEMANGLER_PROG).1
 
-PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) $(ADDR2LINE_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@
+PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@
 
-bin_PROGRAMS = $(SIZE_PROG) $(OBJDUMP_PROG) $(AR_PROG) $(STRINGS_PROG) \
-       $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) $(ADDR2LINE_PROG) \
-       @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@
+bin_PROGRAMS = $(SIZE_PROG) $(OBJDUMP_PROG) $(AR_PROG) $(STRINGS_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@
 
-## We need a special rule to install the programs which are built with .new
+## We need a special rule to install the programs which are built with -new
 noinst_PROGRAMS = $(NM_PROG) $(STRIP_PROG)
 
-EXTRA_PROGRAMS = $(NLMCONV_PROG) $(SRCONV_PROG) $(DLLTOOL_PROG) $(WINDRES_PROG)
+EXTRA_PROGRAMS = $(NLMCONV_PROG) srconv sysdump coffdump $(DLLTOOL_PROG) \
+       $(WINDRES_PROG) $(DLLWRAP_PROG)
 
 # Stuff that goes in tooldir/ if appropriate
-TOOL_PROGS = nm.new strip.new ar$(EXEEXT) ranlib$(EXEEXT) dlltool$(EXEEXT)
+TOOL_PROGS = nm-new strip-new ar ranlib dlltool
 
 BASEDIR = $(srcdir)/..
 BFDDIR = $(BASEDIR)/bfd
@@ -60,10 +71,10 @@ INCDIR      = $(BASEDIR)/include
 
 DEP = mkdep
 
-INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @HDEFINES@
+INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl -DLOCALEDIR="\"$(prefix)/share/locale\""
 
 HFILES = arsup.h bucomm.h budbg.h coffgrok.h debug.h nlmconv.h dlltool.h \
-       windres.h
+       windres.h winduni.h dyn-string.h
 
 GENERATED_HFILES = arparse.h sysroff.h sysinfo.h defparse.h
 
@@ -72,7 +83,8 @@ CFILES = addr2line.c ar.c arsup.c bucomm.c coffdump.c coffgrok.c debug.c \
        maybe-strip.c nlmconv.c nm.c not-ranlib.c not-strip.c \
        objcopy.c objdump.c prdbg.c rdcoff.c rddbg.c size.c srconv.c \
        stabs.c strings.c sysdump.c version.c wrstabs.c \
-       windres.c resrc.c rescoff.c resbin.c
+       windres.c resrc.c rescoff.c resbin.c winduni.c readelf.c \
+       resres.c dyn-string.c dllwrap.c
 
 GENERATED_CFILES = \
        underscore.c arparse.c arlex.c sysroff.c sysinfo.c syslex.c \
@@ -90,6 +102,11 @@ OPCODES = ../opcodes/libopcodes.la
 
 LIBIBERTY = ../libiberty/libiberty.a
 
+POTFILES = $(CFILES) $(DEBUG_SRCS) $(HFILES)
+po/POTFILES.in: @MAINT@ Makefile
+       for file in $(POTFILES); do echo $$file; done | sort > tmp \
+         && mv tmp $(srcdir)/po/POTFILES.in
+
 EXPECT = `if [ -f $$r/../expect/expect ] ; then \
           echo $$r/../expect/expect ; \
           else echo expect ; fi`
@@ -108,12 +125,13 @@ CC_FOR_TARGET = ` \
     if [ "@host@" = "@target@" ] ; then \
       echo $(CC); \
     else \
-      echo gcc | sed '$(program_transform_name)'; \
+      echo gcc | sed '$(transform)'; \
     fi; \
   fi`
 
 check-DEJAGNU: site.exp
        srcdir=`cd $(srcdir) && pwd`; export srcdir; \
+       r=`pwd`; export r; \
        EXPECT=$(EXPECT); export EXPECT; \
        if [ -f $(top_builddir)/../expect/expect ]; then \
          TCL_LIBRARY=`cd $(top_srcdir)/../tcl/library && pwd`; \
@@ -132,7 +150,7 @@ installcheck:
 
 info_TEXINFOS = binutils.texi
 
-LDADD = $(BFDLIB) $(LIBIBERTY)
+LDADD = $(BFDLIB) $(LIBIBERTY) $(INTLLIBS)
 
 size_SOURCES = size.c $(BULIBS)
 
@@ -140,12 +158,15 @@ objcopy_SOURCES = objcopy.c not-strip.c $(WRITE_DEBUG_SRCS) $(BULIBS)
 
 strings_SOURCES = strings.c $(BULIBS)
 
+readelf_SOURCES = readelf.c version.c
+readelf_LDADD   = $(INTLLIBS) $(LIBIBERTY)
+
 strip_new_SOURCES = objcopy.c is-strip.c $(WRITE_DEBUG_SRCS) $(BULIBS)
 
 nm_new_SOURCES = nm.c $(BULIBS)
 
 objdump_SOURCES = objdump.c prdbg.c $(DEBUG_SRCS) $(BULIBS)
-objdump_LDADD = $(OPCODES) $(BFDLIB) $(LIBIBERTY)
+objdump_LDADD = $(OPCODES) $(BFDLIB) $(LIBIBERTY) $(INTLLIBS)
 
 underscore.c: stamp-under ; @true
 
@@ -155,23 +176,17 @@ stamp-under: Makefile
        $(SHELL) $(srcdir)/../move-if-change underscore.t underscore.c
        touch stamp-under
 
-version.o: version.c Makefile
-       $(COMPILE) -c -DVERSION='"$(VERSION)"' $(srcdir)/version.c
-
-bucomm.o: bucomm.c Makefile
-       $(COMPILE) -c -DTARGET='"@target@"' $(srcdir)/bucomm.c
-
 cplus-dem.o: $(BASEDIR)/libiberty/cplus-dem.c $(INCDIR)/getopt.h
        $(COMPILE) -c -DMAIN -DVERSION='"$(VERSION)"' $(BASEDIR)/libiberty/cplus-dem.c
 
 c__filt_SOURCES =
-c__filt_LDADD = cplus-dem.o underscore.o $(LIBIBERTY)
+c__filt_LDADD = cplus-dem.o underscore.o $(LIBIBERTY) $(INTLLIBS)
 
 ar_SOURCES = arparse.y arlex.l ar.c not-ranlib.c arsup.c $(BULIBS)
-ar_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@
+ar_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
 
 ranlib_SOURCES = ar.c is-ranlib.c arparse.y arlex.l arsup.c $(BULIBS)
-ranlib_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@
+ranlib_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
 
 addr2line_SOURCES = addr2line.c $(BULIBS)
 
@@ -193,15 +208,15 @@ addr2line_SOURCES = addr2line.c $(BULIBS)
 #      -rm -f $(STRIP_PROG)
 #      -ln $(OBJCOPY_PROG) $(STRIP_PROG)
 
-sysroff.c: sysinfo sysroff.info 
-       ./sysinfo -c <$(srcdir)/sysroff.info >sysroff.c
-       ./sysinfo -i <$(srcdir)/sysroff.info >>sysroff.c
-       ./sysinfo -g <$(srcdir)/sysroff.info >>sysroff.c
+sysroff.c: sysinfo$(EXEEXT_FOR_BUILD) sysroff.info 
+       ./sysinfo$(EXEEXT_FOR_BUILD) -c <$(srcdir)/sysroff.info >sysroff.c
+       ./sysinfo$(EXEEXT_FOR_BUILD) -i <$(srcdir)/sysroff.info >>sysroff.c
+       ./sysinfo$(EXEEXT_FOR_BUILD) -g <$(srcdir)/sysroff.info >>sysroff.c
 
-sysroff.h: sysinfo sysroff.info
-       ./sysinfo -d <$(srcdir)/sysroff.info >sysroff.h 
+sysroff.h: sysinfo$(EXEEXT_FOR_BUILD) sysroff.info
+       ./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
 
-sysinfo: sysinfo.o syslex.o
+sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
        $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o 
 
 syslex.o: syslex.c sysinfo.h
@@ -221,7 +236,7 @@ sysinfo.o: sysinfo.c
 srconv_SOURCES = srconv.c coffgrok.c $(BULIBS)
 
 dlltool_SOURCES = dlltool.c defparse.y deflex.l $(BULIBS)
-dlltool_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@
+dlltool_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
 
 dlltool.o:dlltool.c
        $(COMPILE) -c $(DLLTOOL_DEFS) $(srcdir)/dlltool.c
@@ -233,14 +248,25 @@ sysdump_SOURCES = sysdump.c $(BULIBS)
 # coff/sym.h and coff/ecoff.h won't be found by the automatic dependency
 # scripts, since they are only included conditionally.
 nlmconv.o: nlmconv.c $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h
-       ldname=`echo ld | sed '$(program_transform_name)'`; \
+       ldname=`echo ld | sed '$(transform)'`; \
        $(COMPILE) -c -DLD_NAME="\"$${ldname}\"" @NLMCONV_DEFS@ $(srcdir)/nlmconv.c
 
 nlmconv_SOURCES = nlmconv.c nlmheader.y $(BULIBS)
 
 windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.l \
-       $(BULIBS)
-windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@
+       winduni.c resres.c $(BULIBS)
+windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
+
+dllwrap_SOURCES = dllwrap.c dyn-string.c 
+dllwrap_LDADD = $(LIBIBERTY)
+
+DISTSTUFF = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \
+       syslex.c deflex.c defparse.h defparse.c rclex.c rcparse.h rcparse.c
+
+diststuff: $(DISTSTUFF) info
+
+DISTCLEANFILES = stamp-under sysinfo underscore.c sysroff.c sysroff.h \
+       site.exp site.bak
 
 # Targets to rebuild dependencies in this Makefile.
 # Have to get rid of .dep1 here so that "$?" later includes all of $(CFILES).
@@ -253,14 +279,16 @@ windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@
 .dep1: $(CFILES) $(GENERATED_CFILES)
        rm -f .dep2
        echo '# DO NOT DELETE THIS LINE -- mkdep uses it.' > .dep2
-       $(DEP) -f .dep2 $(ALL_CFLAGS) $?
+       $(DEP) -f .dep2 $(INCLUDES) $?
        $(SHELL) $(srcdir)/../move-if-change .dep2 .dep1
 
 dep.sed: dep-in.sed config.status
+       objdir=`pwd`; \
        sed <$(srcdir)/dep-in.sed >dep.sed      \
                -e 's!@INCDIR@!$(INCDIR)!'      \
                -e 's!@BFDDIR@!$(BFDDIR)!'      \
-               -e 's!@SRCDIR@!$(srcdir)!'
+               -e 's!@SRCDIR@!$(srcdir)!'      \
+               -e "s!@OBJDIR@!$${objdir}!"
 
 dep: .dep
        sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
@@ -289,10 +317,17 @@ binutils.dvi: $(srcdir)/binutils.texi config.texi
 
 binutils.info: $(srcdir)/binutils.texi config.texi
 
+MAINTAINERCLEANFILES = config.texi
+
 $(DEMANGLER_PROG).1: cxxfilt.man Makefile
        sed -e 's/@PROGRAM@/$(DEMANGLER_PROG)/' < $(srcdir)/cxxfilt.man \
                > $(DEMANGLER_PROG).1
 
+MOSTLYCLEANFILES = sysinfo $(DEMANGLER_PROG).1 binutils.log binutils.sum \
+       abcdefgh*
+mostlyclean-local:
+       -rm -rf tmpdir
+
 CLEANFILES = dep.sed .dep .dep1
 
 .PHONY: install-exec-local
@@ -300,18 +335,20 @@ CLEANFILES = dep.sed .dep .dep1
 install-exec-local: $(bin_PROGRAMS) $(noinst_PROGRAMS)
        @list='$(noinst_PROGRAMS)'; for p in $$list; do \
          if test -f $$p; then \
-           echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed -e 's/.new//'|sed '$(transform)'`$(EXEEXT)"; \
-           $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed -e 's/.new//'|sed '$(transform)'`$(EXEEXT); \
+           echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e 's/-new//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+           $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e 's/-new//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
          else :; fi; \
        done
        $(mkinstalldirs) $(tooldir)/bin
        for i in $(TOOL_PROGS); do \
-         if [ -f $$i ]; then \
-           j=`echo $$i | sed -e 's/.new//' -e 's/$(EXEEXT)//'`; \
-           rm -f $(tooldir)/bin/$$j$(EXEEXT); \
+         if [ -f $$i$(EXEEXT) ]; then \
+           j=`echo $$i | sed -e 's/-new//'`; \
            k=`echo $$j | sed '$(transform)'`; \
-           ln $(bindir)/$$k$(EXEEXT) $(tooldir)/bin/$$j$(EXEEXT) >/dev/null 2>/dev/null \
-               || $(INSTALL_PROGRAM) $$i $(tooldir)/bin/$$j$(EXEEXT); \
+           if [ "$(bindir)/$$k$(EXEEXT)" != "$(tooldir)/bin/$$j$(EXEEXT)" ]; then \
+             rm -f $(tooldir)/bin/$$j$(EXEEXT); \
+             ln $(bindir)/$$k$(EXEEXT) $(tooldir)/bin/$$j$(EXEEXT) >/dev/null 2>/dev/null \
+               || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$i$(EXEEXT) $(tooldir)/bin/$$j$(EXEEXT); \
+           fi; \
          else true; \
          fi; \
        done
@@ -400,17 +437,30 @@ wrstabs.o: wrstabs.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   $(INCDIR)/aout/stab.def
 windres.o: windres.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   $(INCDIR)/getopt.h bucomm.h config.h $(INCDIR)/fopen-same.h \
-  $(INCDIR)/libiberty.h $(INCDIR)/obstack.h windres.h
+  $(INCDIR)/libiberty.h $(INCDIR)/obstack.h windres.h \
+  winduni.h
 resrc.o: resrc.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   bucomm.h config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
-  windres.h
+  windres.h winduni.h
 rescoff.o: rescoff.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   bucomm.h config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
-  windres.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
+  windres.h winduni.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
   $(INCDIR)/bfdlink.h
 resbin.o: resbin.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   bucomm.h config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
-  windres.h
+  windres.h winduni.h
+resres.o: resres.c windres.h
+winduni.o: winduni.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  bucomm.h config.h $(INCDIR)/fopen-same.h winduni.h
+readelf.o: readelf.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/elf/common.h $(INCDIR)/elf/external.h $(INCDIR)/elf/internal.h \
+  $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/elf/v850.h \
+  $(INCDIR)/elf/ppc.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/alpha.h \
+  $(INCDIR)/elf/arm.h $(INCDIR)/elf/m68k.h $(INCDIR)/elf/sparc.h \
+  $(INCDIR)/elf/m32r.h $(INCDIR)/elf/d10v.h $(INCDIR)/elf/d30v.h \
+  $(INCDIR)/elf/sh.h $(INCDIR)/elf/mn10200.h $(INCDIR)/elf/mn10300.h \
+  $(INCDIR)/elf/hppa.h $(INCDIR)/elf/arc.h bucomm.h config.h \
+  $(INCDIR)/fopen-same.h $(INCDIR)/getopt.h $(INCDIR)/elf/fr30.h
 underscore.o: underscore.c
 arparse.o: arparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   bucomm.h config.h $(INCDIR)/fopen-same.h arsup.h
@@ -427,9 +477,11 @@ nlmheader.o: nlmheader.c ../bfd/bfd.h bucomm.h config.h \
   nlmconv.h
 rcparse.o: rcparse.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   bucomm.h config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
-  windres.h
+  windres.h winduni.h
 rclex.o: rclex.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
   bucomm.h config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
-  windres.h rcparse.h
+  windres.h winduni.h rcparse.h
+dllwrap.o: dllwrap.c dyn-string.h $(INCDIR)/ansidecl.h \
+  $(INCDIR)/getopt.h config.h $(INCDIR)/libiberty.h 
 
 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY