MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
-CFLAGS = -g
+CC = @CC@
+CFLAGS = @CFLAGS@
CC_FOR_BUILD = $(CC)
dvi: bfd.dvi
install-info: info
- for i in *.info* ; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i ; \
+ $(SHELL) $(srcdir)/../../mkinstalldirs $(infodir)
+ if [ -r bfd.info ]; then \
+ dir=.; \
+ else \
+ dir=$(srcdir); \
+ fi; \
+ for i in `cd $$dir; echo *.info*`; do \
+ $(INSTALL_DATA) $$dir/$$i $(infodir)/$$i; \
done
docs: $(MKDOC) protos bfd.info bfd.dvi bfd.ps
# We can't replace these rules with an implicit rule, because
# makes without VPATH support couldn't find the .h files in `..'.
-aoutx.texi: $(MKDOC) $(srcdir)/../aoutx.h $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.texi
-
-archive.texi: $(MKDOC) $(srcdir)/../archive.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.texi
-
-archures.texi: $(MKDOC) $(srcdir)/../archures.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.texi
-
-bfd.texi: $(MKDOC) $(srcdir)/../bfd.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.texi
-
-cache.texi: $(MKDOC) $(srcdir)/../cache.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.texi
-
-coffcode.texi: $(MKDOC) $(srcdir)/../coffcode.h $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.texi
-
-core.texi: $(MKDOC) $(srcdir)/../corefile.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.texi
-
-elf.texi: $(MKDOC) $(srcdir)/../elf.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.texi
-
-elfcode.texi: $(MKDOC) $(srcdir)/../elfcode.h $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.texi
-
-format.texi: $(MKDOC) $(srcdir)/../format.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.texi
-
-libbfd.texi: $(MKDOC) $(srcdir)/../libbfd.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.texi
-
-opncls.texi: $(MKDOC) $(srcdir)/../opncls.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../opncls.c >opncls.texi
-
-reloc.texi : $(MKDOC) $(srcdir)/../reloc.c
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.texi
-
-section.texi: $(MKDOC) $(srcdir)/../section.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.texi
-
-syms.texi : $(MKDOC) $(srcdir)/../syms.c
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.texi
-
-targets.texi: $(MKDOC) $(srcdir)/../targets.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.texi
-
-init.texi: $(MKDOC) $(srcdir)/../init.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.texi
-
-hash.texi: $(MKDOC) $(srcdir)/../hash.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.texi
-
-linker.texi: $(MKDOC) $(srcdir)/../linker.c $(srcdir)/doc.str
- $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.texi
+# We use stamp-XXX targets so that we can distribute the info files,
+# and permit people to rebuild them, without requiring the makeinfo
+# program. If somebody tries to rebuild info, but none of the .texi
+# files have changed, then this Makefile will build chew, and will
+# build all of the stamp files, but will not actually have to rebuild
+# bfd.info.
+
+stamp-aoutx: $(MKDOC) $(srcdir)/../aoutx.h $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.tmp
+ $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
+ touch stamp-aoutx
+aoutx.texi: stamp-aoutx
+
+stamp-archive: $(MKDOC) $(srcdir)/../archive.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.tmp
+ $(srcdir)/../../move-if-change archive.tmp archive.texi
+ touch stamp-archive
+archive.texi: stamp-archive
+
+stamp-archures: $(MKDOC) $(srcdir)/../archures.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
+ $(srcdir)/../../move-if-change archures.tmp archures.texi
+ touch stamp-archures
+archures.texi: stamp-archures
+
+stamp-bfd: $(MKDOC) $(srcdir)/../bfd.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
+ $(srcdir)/../../move-if-change bfd.tmp bfd.texi
+ touch stamp-bfd
+bfd.texi: stamp-bfd
+
+stamp-cache: $(MKDOC) $(srcdir)/../cache.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
+ $(srcdir)/../../move-if-change cache.tmp cache.texi
+ touch stamp-cache
+cache.texi: stamp-cache
+
+stamp-coffcode: $(MKDOC) $(srcdir)/../coffcode.h $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.tmp
+ $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
+ touch stamp-coffcode
+coffcode.texi: stamp-coffcode
+
+stamp-core: $(MKDOC) $(srcdir)/../corefile.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.tmp
+ $(srcdir)/../../move-if-change core.tmp core.texi
+ touch stamp-core
+core.texi: stamp-core
+
+stamp-elf: $(MKDOC) $(srcdir)/../elf.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.tmp
+ $(srcdir)/../../move-if-change elf.tmp elf.texi
+ touch stamp-elf
+elf.texi: stamp-elf
+
+stamp-elfcode: $(MKDOC) $(srcdir)/../elfcode.h $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.tmp
+ $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
+ touch stamp-elfcode
+elfcode.texi: stamp-elfcode
+
+stamp-format: $(MKDOC) $(srcdir)/../format.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.tmp
+ $(srcdir)/../../move-if-change format.tmp format.texi
+ touch stamp-format
+format.texi: stamp-format
+
+stamp-libbfd: $(MKDOC) $(srcdir)/../libbfd.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
+ $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
+ touch stamp-libbfd
+libbfd.texi: stamp-libbfd
+
+stamp-opncls: $(MKDOC) $(srcdir)/../opncls.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../opncls.c >opncls.tmp
+ $(srcdir)/../../move-if-change opncls.tmp opncls.texi
+ touch stamp-opncls
+opncls.texi: stamp-opncls
+
+stamp-reloc: $(MKDOC) $(srcdir)/../reloc.c
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.tmp
+ $(srcdir)/../../move-if-change reloc.tmp reloc.texi
+ touch stamp-reloc
+reloc.texi: stamp-reloc
+
+stamp-section: $(MKDOC) $(srcdir)/../section.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.tmp
+ $(srcdir)/../../move-if-change section.tmp section.texi
+ touch stamp-section
+section.texi: stamp-section
+
+stamp-syms: $(MKDOC) $(srcdir)/../syms.c
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.tmp
+ $(srcdir)/../../move-if-change syms.tmp syms.texi
+ touch stamp-syms
+syms.texi: stamp-syms
+
+stamp-targets: $(MKDOC) $(srcdir)/../targets.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.tmp
+ $(srcdir)/../../move-if-change targets.tmp targets.texi
+ touch stamp-targets
+targets.texi: stamp-targets
+
+stamp-init: $(MKDOC) $(srcdir)/../init.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.tmp
+ $(srcdir)/../../move-if-change init.tmp init.texi
+ touch stamp-init
+init.texi: stamp-init
+
+stamp-hash: $(MKDOC) $(srcdir)/../hash.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.tmp
+ $(srcdir)/../../move-if-change hash.tmp hash.texi
+ touch stamp-hash
+hash.texi: stamp-hash
+
+stamp-linker: $(MKDOC) $(srcdir)/../linker.c $(srcdir)/doc.str
+ $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.tmp
+ $(srcdir)/../../move-if-change linker.tmp linker.texi
+ touch stamp-linker
+linker.texi: stamp-linker
libbfd.h: $(srcdir)/../libbfd-in.h \
$(srcdir)/../init.c \
rm -rf *.log *.ps *~* *.dvi *# $(MKDOC) *.o
clean: mostlyclean
- rm -rf $(STAGESTUFF)
+ rm -rf $(STAGESTUFF) stamp-*
rm -f *.p *.ip bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
-distclean:
- rm -f $(DOCFILES)
+distclean: mostlyclean
rm -f *.p *.ip bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
+ rm -f stamp-*
rm -f Makefile config.status
maintainer-clean realclean: clean