This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

bfd doc chew


I got tired of watching chew.c being compiled a dozen or more times
each time I do a binutils build, and decided to do something about
it.  The following gets rid of the recursive "make" compiling chew for
every texi target, by using time-stamps.  This does mean a build from
release sources will do a little more work, creating the time-stamps,
but that doesn't seem too bad to me.

Does anyone have any objections to this patch?

	* Makefile.am (MKDOC): Use $@ in command.
	(aoutx.texi): New rule, depend on aoutx.stamp.  Move old rule..
	(aoutx.stamp): .. to here.  Don't depend on chew.c, depend on MKDOC
	and omit recursive MAKE.  Use $< in command.
	(archive.texi, archures.texi, bfdt.texi, cache.texi, coffcode.texi,
	core.texi, elf.texi, elfcode.texi, mmo.texi, format.texi, libbfd.texi,
	bfdio.texi, bfdwin.texi, opncls.texi, reloc.texi, section.texi,
	syms.texi, targets.texi, init.texi, hash.texi, linker.texi): Similarly.
	(DISTCLEANFILES): Remove *.stamp.
	* Makefile.in: Regenerate.

diff --git a/bfd/doc/Makefile.am b/bfd/doc/Makefile.am
index dbefc2b..58c9591 100644
--- a/bfd/doc/Makefile.am
+++ b/bfd/doc/Makefile.am
@@ -79,7 +79,7 @@ AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \
 $(MKDOC): $(srcdir)/chew.c
 	$(CC_FOR_BUILD) -o chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
 	  $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) $(AM_CPPFLAGS) $(srcdir)/chew.c; \
-	$(SHELL) $(srcdir)/../../move-if-change chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC)
+	$(SHELL) $(srcdir)/../../move-if-change chw$$$$$(EXEEXT_FOR_BUILD) $@
 
 protos: libbfd.h libcoff.h bfd.h
 
@@ -91,117 +91,139 @@ protos: libbfd.h libcoff.h bfd.h
 # program.  If somebody tries to rebuild info, but none of the .texi files
 # have changed, then nothing will be rebuilt.
 
-aoutx.texi: chew.c $(srcdir)/../aoutx.h $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.tmp
+aoutx.texi: aoutx.stamp ; @true
+aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
 	$(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
+	touch $@
 
-archive.texi: chew.c $(srcdir)/../archive.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.tmp
+archive.texi: archive.stamp ; @true
+archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
 	$(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
+	touch $@
 
-archures.texi: chew.c $(srcdir)/../archures.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
+archures.texi: archures.stamp ; @true
+archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
 	$(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
+	touch $@
 
 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
 # bfd.texinfo on an 8.3 filesystem.
-bfdt.texi: chew.c $(srcdir)/../bfd.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
+bfdt.texi: bfdt.stamp ; @true
+bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
 	$(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
+	touch $@
 
-cache.texi: chew.c $(srcdir)/../cache.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
+cache.texi: cache.stamp ; @true
+cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
 	$(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
+	touch $@
 
-coffcode.texi: chew.c $(srcdir)/../coffcode.h $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.tmp
+coffcode.texi: coffcode.stamp ; @true
+coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
 	$(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
+	touch $@
 
-core.texi: chew.c $(srcdir)/../corefile.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.tmp
+core.texi: core.stamp ; @true
+core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
 	$(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
+	touch $@
 
-elf.texi: chew.c $(srcdir)/../elf.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.tmp
+elf.texi: elf.stamp ; @true
+elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
 	$(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
+	touch $@
 
-elfcode.texi: chew.c $(srcdir)/../elfcode.h $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.tmp
+elfcode.texi: elfcode.stamp ; @true
+elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
 	$(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
+	touch $@
 
-mmo.texi: chew.c $(srcdir)/../mmo.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../mmo.c >mmo.tmp
+mmo.texi: mmo.stamp ; @true
+mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
 	$(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
+	touch $@
 
-format.texi: chew.c $(srcdir)/../format.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.tmp
+format.texi: format.stamp ; @true
+format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
 	$(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
+	touch $@
 
-libbfd.texi: chew.c $(srcdir)/../libbfd.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
+libbfd.texi: libbfd.stamp ; @true
+libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
 	$(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
+	touch $@
 
-bfdio.texi: chew.c $(srcdir)/../bfdio.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
+bfdio.texi: bfdio.stamp ; @true
+bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
 	$(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
+	touch $@
 
-bfdwin.texi: chew.c $(srcdir)/../bfdwin.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
+bfdwin.texi: bfdwin.stamp ; @true
+bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
 	$(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
+	touch $@
 
-opncls.texi: chew.c $(srcdir)/../opncls.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str  <$(srcdir)/../opncls.c >opncls.tmp
+opncls.texi: opncls.stamp ; @true
+opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
 	$(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
+	touch $@
 
-reloc.texi: chew.c $(srcdir)/../reloc.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.tmp
+reloc.texi: reloc.stamp ; @true
+reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
 	$(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
+	touch $@
 
-section.texi: chew.c $(srcdir)/../section.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.tmp
+section.texi: section.stamp ; @true
+section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
 	$(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
+	touch $@
 
-syms.texi: chew.c $(srcdir)/../syms.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.tmp
+syms.texi: syms.stamp ; @true
+syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
 	$(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
+	touch $@
 
-targets.texi: chew.c $(srcdir)/../targets.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.tmp
+targets.texi: targets.stamp ; @true
+targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
 	$(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
+	touch $@
 
-init.texi: chew.c $(srcdir)/../init.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.tmp
+init.texi: init.stamp ; @true
+init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
 	$(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
+	touch $@
 
-hash.texi: chew.c $(srcdir)/../hash.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.tmp
+hash.texi: hash.stamp ; @true
+hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
 	$(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
+	touch $@
 
-linker.texi: chew.c $(srcdir)/../linker.c $(srcdir)/doc.str
-	$(MAKE) $(MKDOC)
-	./$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.tmp
+linker.texi: linker.stamp ; @true
+linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
+	./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
 	$(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
+	touch $@
 
 LIBBFD_H_DEP = \
 	$(srcdir)/../libbfd-in.h	\
@@ -305,7 +327,7 @@ MOSTLYCLEANFILES = $(MKDOC) *.o
 
 CLEANFILES = *.p *.ip
 
-DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
+DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log *.stamp
 
 MAINTAINERCLEANFILES = $(DOCFILES)
 

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]