prefix = @prefix@
+program_transform_name = @program_transform_name@
exec_prefix = @exec_prefix@
-bindir = $(exec_prefix)/bin
-libdir = $(exec_prefix)/lib
+bindir = @bindir@
+libdir = @libdir@
-datadir = $(prefix)/lib
-mandir = $(prefix)/man
+datadir = @datadir@
+mandir = @mandir@
man1dir = $(mandir)/man1
man2dir = $(mandir)/man2
man3dir = $(mandir)/man3
man7dir = $(mandir)/man7
man8dir = $(mandir)/man8
man9dir = $(mandir)/man9
-infodir = $(prefix)/info
-includedir = $(prefix)/include
+infodir = @infodir@
+includedir = @includedir@
oldincludedir =
docdir = doc
MAKEINFO = makeinfo
RANLIB = @RANLIB@
+ALLLIBS = @ALLLIBS@
+
+PICFLAG = @PICFLAG@
+SHLIB = @SHLIB@
+SHLIB_CC = @SHLIB_CC@
+SHLIB_CFLAGS = @SHLIB_CFLAGS@
+COMMON_SHLIB = @COMMON_SHLIB@
+SHLINK = @SHLINK@
+
+SONAME = lib`echo $(SHLIB) | sed -e 's/^lib//' | sed '$(program_transform_name)'`
+
CC_FOR_BUILD = @CC_FOR_BUILD@
INCDIR = $(srcdir)/../include
archive.o archures.o bfd.o cache.o coffgen.o corefile.o \
format.o init.o libbfd.o opncls.o reloc.o \
section.o syms.o targets.o hash.o linker.o \
- elf.o srec.o binary.o tekhex.o ihex.o
+ elf.o srec.o binary.o tekhex.o ihex.o stabs.o stab-syms.o
BFD_LIBS_CFILES = \
archive.c archures.c bfd.c cache.c coffgen.c corefile.c \
format.c init.c libbfd.c opncls.c reloc.c \
section.c syms.c targets.c hash.c linker.c \
- elf.c srec.c binary.c tekhex.c ihex.c
+ elf.c srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c
# This list is alphabetized to make it easier to keep in sync
# with the decls and initializer in archures.c.
cpu-arc.o \
$(end-sanitize-arc) \
cpu-arm.o \
+ $(start-sanitize-d10v) \
+ cpu-d10v.o \
+ $(end-sanitize-d10v) \
cpu-h8300.o \
cpu-h8500.o \
cpu-hppa.o \
cpu-mips.o \
cpu-ns32k.o \
cpu-powerpc.o \
- $(start-sanitize-rce) \
- cpu-rce.o \
- $(end-sanitize-rce) \
cpu-rs6000.o \
cpu-sh.o \
cpu-sparc.o \
BFD32_BACKENDS = \
aout-adobe.o \
aout-ns32k.o \
- $(start-sanitize-rce) \
- aout-rce.o \
- $(end-sanitize-rce) \
aout0.o \
aout32.o \
bout.o \
coff-a29k.o \
coff-apollo.o \
coff-arm.o \
+ coff-aux.o \
coff-h8300.o \
coff-h8500.o \
coff-i386.o \
$(start-sanitize-arc) \
elf32-arc.o \
$(end-sanitize-arc) \
+ $(start-sanitize-d10v) \
+ elf32-d10v.o \
+ $(end-sanitize-d10v) \
elf32-gen.o \
elf32-hppa.o \
elf32-i386.o \
i386mach3.o \
i386os9k.o \
ieee.o \
+ m68klinux.o \
m68klynx.o \
m68knetbsd.o \
m88kmach3.o \
pei-i386.o \
pe-ppc.o \
pei-ppc.o \
+ ppcboot.o \
reloc16.o \
sparclynx.o \
sparcnetbsd.o \
- stab-syms.o \
sunos.o \
tekhex.o \
versados.o \
coff-a29k.c \
coff-apollo.c \
coff-arm.c \
+ coff-aux.c \
coff-h8300.c \
coff-h8500.c \
coff-i386.c \
i386mach3.c \
i386os9k.c \
ieee.c \
+ m68klinux.c \
m68klynx.c \
m68knetbsd.c \
m88kmach3.c \
pei-i386.c \
pe-ppc.c \
pei-ppc.c \
+ ppcboot.c \
reloc16.c \
sparclynx.c \
sparcnetbsd.c \
- stab-syms.c \
sunos.c \
tekhex.c \
versados.c \
aout64.o \
coff-alpha.o \
demo64.o \
+ elf64-alpha.o \
elf64-gen.o \
+ elf64-mips.o \
elf64-sparc.o \
elf64.o \
+ evax-alpha.o \
+ evax-egsd.o \
+ evax-etir.o \
+ evax-emh.o \
+ evax-misc.o \
nlm32-alpha.o \
nlm64.o
aout64.c \
coff-alpha.c \
demo64.c \
+ elf64-alpha.c \
elf64-gen.c \
+ elf64-mips.c \
elf64-sparc.c \
elf64.c \
+ evax-alpha.c \
+ evax-egsd.c \
+ evax-etir.c \
+ evax-emh.c \
+ evax-misc.c \
nlm32-alpha.c \
nlm64.c
ALL_CFLAGS=@HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) $(CFLAGS)
.c.o:
+ if [ -n "$(PICFLAG)" ]; then \
+ $(CC) -c $(PICFLAG) $(ALL_CFLAGS) $< -o pic/$@; \
+ else true; fi
$(CC) -c $(ALL_CFLAGS) $<
bfd_libs_here =
HFILES = aout-target.h aoutf1.h aoutx.h coffcode.h \
coffswap.h ecoffswap.h elf32-hppa.h elf32-target.h elf64-target.h \
- elfcode.h hppa_stubs.h libaout.h libbfd.h \
+ elfcode.h evax.h hppa_stubs.h libaout.h libbfd.h \
libcoff.h libecoff.h elf-bfd.h libhppa.h libieee.h libnlm.h \
- liboasys.h nlm-target.h nlmcode.h som.h genlink.h netbsd.h
+ liboasys.h nlm-target.h nlmcode.h som.h genlink.h netbsd.h ns32k.h
-STAGESTUFF = $(TARGETLIB) $(OFILES)
-
-all: Makefile $(TARGETLIB)
+all: Makefile $(ALLLIBS) @PICLIST@
@$(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
.NOEXPORT:
# COREFILE Core file routines for a native configuration
OFILES = $(BFD_LIBS) $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@
-ofiles : Makefile
- rm -f ofiles
+stamp-ofiles: Makefile
+ rm -f tofiles
f=""; \
for i in $(OFILES) ; do \
case " $$f " in \
*) f="$$f $$i" ;; \
esac ; \
done ; \
- echo $$f > ofiles
+ echo $$f > tofiles
+ $(srcdir)/../move-if-change tofiles ofiles
+ touch stamp-ofiles
+
+ofiles: stamp-ofiles ; @true
$(TARGETLIB): $(OFILES) ofiles
rm -f $(TARGETLIB)
$(AR) $(AR_FLAGS) $(TARGETLIB) `cat ofiles`
$(RANLIB) $(TARGETLIB)
+stamp-piclist: ofiles
+ rm -f tpiclist
+ if [ -n "$(PICFLAG)" ]; then \
+ sed -e 's,\([^ ][^ ]*\),pic/\1,g' ofiles > tpiclist; \
+ else \
+ cp ofiles tpiclist; \
+ fi
+ $(srcdir)/../move-if-change tpiclist piclist
+ touch stamp-piclist
+
+piclist: stamp-piclist ; @true
+
+$(SHLIB): stamp-picdir $(OFILES) piclist
+ rm -f $(SHLIB)
+ $(SHLIB_CC) $(SHLIB_CFLAGS) -o $(SHLIB) `cat piclist`
+
+# We make a link from libbfd.so to libbfd.so.VERSION for linking, and
+# also a link from libTARGET-bfd.so.VERSION for running.
+$(SHLINK): $(SHLIB)
+ ts=lib`echo $(SHLIB) | sed -e 's/^lib//' | sed -e '$(program_transform_name)'`; \
+ if [ "$$ts" != "$(SHLIB)" ]; then \
+ rm -f $$ts; \
+ ln -sf $(SHLIB) $$ts; \
+ else true; fi
+ rm -f $(SHLINK)
+ ln -sf $(SHLIB) $(SHLINK)
+
+# This target creates libTARGET-bfd.so.VERSION as a symlink to
+# libbfd.so.VERSION. It is used on SunOS, which does not have SONAME.
+stamp-tshlink: $(SHLIB)
+ tf=lib`echo $(SHLIB) | sed -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ if [ "$$tf" != "$(SHLIB)" ]; then \
+ rm -f $$tf; \
+ ln -sf $(SHLIB) $$tf; \
+ else true; fi
+ touch stamp-tshlink
+
# When compiling archures.c and targets.c, supply the default target
# info from configure.
targets.o: targets.c Makefile
- $(CC) -c $(ALL_CFLAGS) $(TDEFAULTS) $<
+ if [ -n "$(PICFLAG)" ]; then \
+ $(CC) -c $(PICFLAG) $(TDEFAULTS) $(ALL_CFLAGS) $(srcdir)/targets.c -o pic/targets.o; \
+ else true; fi
+ $(CC) -c $(TDEFAULTS) $(ALL_CFLAGS) $(srcdir)/targets.c
archures.o: archures.c Makefile
- $(CC) -c $(ALL_CFLAGS) $(TDEFAULTS) $<
+ if [ -n "$(PICFLAG)" ]; then \
+ $(CC) -c $(PICFLAG) $(TDEFAULTS) $(ALL_CFLAGS) $(srcdir)/archures.c -o pic/archures.o; \
+ else true; fi
+ $(CC) -c $(TDEFAULTS) $(ALL_CFLAGS) $(srcdir)/archures.c
elf32-target.h : elfxx-target.h
rm -f elf32-target.h
etags $(INCDIR)/*.h $(srcdir)/*.h $(srcdir)/*.c
do_mostlyclean:
- rm -f *.o *~ core *.E *.p *.ip aout-params.h gen-aout config.log
+ rm -f *.o *~ core *.E *.p *.ip aout-params.h gen-aout config.log \
+ pic/*.o
do_clean: do_mostlyclean
- rm -f libbfd.a TAGS bfd.h stmp-bfd.h ofiles \
- elf32-target.h elf64-target.h
+ rm -f libbfd.a TAGS bfd.h stmp-bfd.h bfd-tmp.h ofiles stamp-ofiles \
+ elf32-target.h elf64-target.h $(SHLIB) $(SHLINK) \
+ piclist stamp-piclist
do_distclean: do_clean
- rm -f Makefile config.status config.cache config.h stamp-h
-
+ rm -f Makefile config.status config.cache config.h stamp-h bfd-in3.h
+ rm -rf pic stamp-picdir
do_maintainer_clean: do_distclean
rm -f $(srcdir)/bfd-in2.h $(srcdir)/libbfd.h $(srcdir)/libcoff.h
#
force:
-install:
- $(INSTALL_DATA) libbfd.a $(libdir)/libbfd.a
- $(RANLIB) $(libdir)/libbfd.a
+install: $(ALLLIBS)
+ for f in $(ALLLIBS); do \
+ if [ "$$f" = "stamp-tshlink" ]; then \
+ continue; \
+ fi; \
+ tf=lib`echo $$f | sed -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ rm -f $(libdir)/$$tf; \
+ if [ "$$f" = "$(SHLINK)" ]; then \
+ ts=lib`echo $(SHLIB) | sed -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ ln -sf $$ts $(libdir)/$$tf; \
+ elif [ "$$f" = "$(SHLIB)" ]; then \
+ @INSTALL_SHLIB@ \
+ else \
+ $(INSTALL_DATA) $$f $(libdir)/$$tf; \
+ $(RANLIB) $(libdir)/$$tf; \
+ chmod a-x $(libdir)/$$tf; \
+ fi; \
+ done
# Install BFD include file, and others that it needs. Install them
# both in GCC's include directory, and in the system include dir
# if configured as $(oldincludedir) -- which it usually isnt.
stamp-h: config.in config.status
CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
-config.status: configure configure.host config.bfd
+config.status: configure configure.host config.bfd VERSION
$(SHELL) config.status --recheck
# Have to get rid of .dep1 here so that "$?" later includes all of $(CFILES).
$(BFD_H): stmp-bfd.h ; @true
-stmp-bfd.h : $(srcdir)/bfd-in2.h Makefile
- rm -f bfd.h-new
- sed -e 's/@WORDSIZE@/$(WORDSIZE)/' \
- -e "s/@VERSION@/`cat $(srcdir)/VERSION`/" \
- -e 's/@BFD_HOST_64BIT_LONG@/@HOST_64BIT_LONG@/' \
- < $(srcdir)/bfd-in2.h \
- > bfd.h-new
- $(srcdir)/../move-if-change bfd.h-new $(BFD_H)
+stmp-bfd.h: bfd-in3.h
+ rm -f bfd-tmp.h
+ cp bfd-in3.h bfd-tmp.h
+ $(srcdir)/../move-if-change bfd-tmp.h $(BFD_H)
+ rm -f bfd-tmp.h
touch stmp-bfd.h
+bfd-in3.h: bfd-in2.h config.status
+ CONFIG_FILES=bfd-in3.h:bfd-in2.h CONFIG_HEADERS= $(SHELL) ./config.status
+
# Could really use a "copy-if-change"...
headers:
(cd $(docdir); $(MAKE) protos $(FLAGS_TO_PASS))
# The rules for the generated header files are here so that people can
# type `make bfd-in2.h' if they remove it. They are not run by default.
-bfd-in2.h:
- (cd $(docdir); $(MAKE) protos $(FLAGS_TO_PASS))
+$(srcdir)/bfd-in2.h:
+ (cd $(docdir); $(MAKE) bfd.h $(FLAGS_TO_PASS))
cp $(docdir)/bfd.h bfd-in2.h-new
$(srcdir)/../move-if-change bfd-in2.h-new $(srcdir)/bfd-in2.h
-libbfd.h:
- (cd $(docdir); $(MAKE) protos $(FLAGS_TO_PASS))
+$(srcdir)/libbfd.h:
+ (cd $(docdir); $(MAKE) libbfd.h $(FLAGS_TO_PASS))
cp $(docdir)/libbfd.h libbfd.h-new
$(srcdir)/../move-if-change libbfd.h-new $(srcdir)/libbfd.h
-libcoff.h:
- (cd $(docdir); $(MAKE) protos $(FLAGS_TO_PASS))
+$(srcdir)/libcoff.h:
+ (cd $(docdir); $(MAKE) libcoff.h $(FLAGS_TO_PASS))
cp $(docdir)/libcoff.h libcoff.h-new
$(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h
$(INCDIR)/elf/arc.h elf32-target.h
end-sanitize-arc:
+start-sanitize-d10v:
+elf32-d10v.o: elf32-d10v.c elf-bfd.h $(INCDIR)/elf/common.h \
+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/elf/d10v.h elf32-target.h
+end-sanitize-d10v:
+
+$(OFILES): stamp-picdir
+
+stamp-picdir:
+ if [ -n "$(PICFLAG)" ] && [ ! -d pic ]; then \
+ mkdir pic; \
+ else true; fi
+ touch stamp-picdir
+
# What appears below is generated by a hacked mkdep using gcc -MM.
# DO NOT DELETE THIS LINE -- mkdep uses it.
binary.o: binary.c
tekhex.o: tekhex.c $(INCDIR)/libiberty.h
ihex.o: ihex.c $(INCDIR)/libiberty.h
+stabs.o: stabs.c $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def
+stab-syms.o: stab-syms.c libaout.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab.def
cpu-a29k.o: cpu-a29k.c
cpu-alpha.o: cpu-alpha.c
cpu-arm.o: cpu-arm.c
cpu-m68k.o: cpu-m68k.c
cpu-m88k.o: cpu-m88k.c
cpu-mips.o: cpu-mips.c
-cpu-ns32k.o: cpu-ns32k.c
+cpu-ns32k.o: cpu-ns32k.c ns32k.h
cpu-powerpc.o: cpu-powerpc.c
cpu-rs6000.o: cpu-rs6000.c
cpu-sh.o: cpu-sh.c
aout-adobe.o: aout-adobe.c $(INCDIR)/aout/adobe.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def libaout.h $(INCDIR)/bfdlink.h
aout-ns32k.o: aout-ns32k.c $(INCDIR)/aout/aout64.h \
- libaout.h $(INCDIR)/bfdlink.h
+ ns32k.h libaout.h $(INCDIR)/bfdlink.h
aout0.o: aout0.c aoutf1.h $(INCDIR)/aout/sun4.h libaout.h \
$(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
coffcode.h coffswap.h
coff-arm.o: coff-arm.c $(INCDIR)/coff/arm.h $(INCDIR)/coff/internal.h \
libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
-coff-h8300.o: coff-h8300.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/h8300.h \
- $(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
+coff-aux.o: coff-aux.c $(INCDIR)/coff/aux-coff.h $(INCDIR)/coff/internal.h \
+ $(INCDIR)/coff/m68k.h coff-m68k.c libcoff.h $(INCDIR)/bfdlink.h \
+ coffcode.h coffswap.h
+coff-h8300.o: coff-h8300.c $(INCDIR)/bfdlink.h genlink.h \
+ $(INCDIR)/coff/h8300.h $(INCDIR)/coff/internal.h libcoff.h \
+ coffcode.h coffswap.h
coff-h8500.o: coff-h8500.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/h8500.h \
$(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
coff-i386.o: coff-i386.c $(INCDIR)/coff/i386.h $(INCDIR)/coff/internal.h \
i386os9k.o: i386os9k.c $(INCDIR)/bfdlink.h libaout.h \
$(INCDIR)/os9k.h
ieee.o: ieee.c $(INCDIR)/ieee.h libieee.h
+m68klinux.o: m68klinux.c $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
+ $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h libaout.h \
+ $(INCDIR)/bfdlink.h aout-target.h
m68klynx.o: m68klynx.c libaout.h $(INCDIR)/bfdlink.h \
$(INCDIR)/aout/aout64.h aout-target.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
pei-ppc.o: pei-ppc.c coff-ppc.c $(INCDIR)/coff/powerpc.h \
$(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
$(INCDIR)/bfdlink.h coffcode.h peicode.h
+ppcboot.o: ppcboot.c
reloc16.o: reloc16.c $(INCDIR)/bfdlink.h genlink.h \
$(INCDIR)/coff/internal.h libcoff.h
sparclynx.o: sparclynx.c $(INCDIR)/aout/sun4.h libaout.h \
sparcnetbsd.o: sparcnetbsd.c netbsd.h libaout.h $(INCDIR)/bfdlink.h \
aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
-stab-syms.o: stab-syms.c libaout.h $(INCDIR)/bfdlink.h \
- $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab.def
sunos.o: sunos.c $(INCDIR)/bfdlink.h libaout.h aoutf1.h \
$(INCDIR)/aout/sun4.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
demo64.o: demo64.c aoutf1.h $(INCDIR)/aout/sun4.h libaout.h \
$(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
+elf64-alpha.o: elf64-alpha.c elf-bfd.h $(INCDIR)/elf/common.h \
+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
+ $(INCDIR)/elf/alpha.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h \
+ $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/alpha.h \
+ $(INCDIR)/aout/ar.h libcoff.h libecoff.h ecoffswap.h \
+ elf64-target.h
elf64-gen.o: elf64-gen.c elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
elf64-target.h
+elf64-mips.o: elf64-mips.c $(INCDIR)/bfdlink.h genlink.h \
+ elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/coff/sym.h \
+ $(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \
+ $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/alpha.h ecoffswap.h \
+ elf64-target.h
elf64-sparc.o: elf64-sparc.c elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
- elf64-target.h
+ $(INCDIR)/elf/sparc.h elf64-target.h
elf64.o: elf64.c elfcode.h $(INCDIR)/bfdlink.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
elfcore.h elflink.h
+evax-alpha.o: evax-alpha.c $(INCDIR)/bfdlink.h evax.h
+evax-egsd.o: evax-egsd.c $(INCDIR)/bfdlink.h evax.h
+evax-etir.o: evax-etir.c $(INCDIR)/bfdlink.h evax.h
+evax-emh.o: evax-emh.c $(INCDIR)/bfdlink.h evax.h
+evax-misc.o: evax-misc.c $(INCDIR)/bfdlink.h evax.h
nlm32-alpha.o: nlm32-alpha.c $(INCDIR)/nlm/alpha-ext.h \
libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
$(INCDIR)/nlm/external.h nlmswap.h nlm-target.h