[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH, various] Add "pdf" target to all relevant GCC makefiles.
From: |
Brooks Moses |
Subject: |
[PATCH, various] Add "pdf" target to all relevant GCC makefiles. |
Date: |
Tue, 10 Oct 2006 16:40:26 -0000 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Windows/20050317) |
The attached patch adds all of the relevant targets to enable "make pdf"
to work; it produces the same files (modulo extension, of course) in the
same locations as "make dvi". The changes are, I believe, relatively
straightforward and simple.
I have attached two separate .diff files; the first one contains all of
the handwritten changes, and is relatively small; the second (gzipped)
one contains the automatically-generated top-level Makefile.in file,
which has a substantial number of repetitive changes.
I have tested that this works with "make pdf" on i686-pc-linux-gnu and
i686-pc-cygwin, and have additionally tested with "make bootstrap" (with
all languages except Ada) to confirm that it hasn't broken the build on
either platform. I'm doing a "make -k check" test now. If someone
could check and confirm that the trivial change to gnattools/Makefile.in
doesn't break the gnattools build, I'd appreciate it, since Ada won't
build on my box.
Given that this touches lots of things, I think I've cc'ed all of the
relevant mailing lists. I'm not sure who all I have to get approval
from! :)
There are, of course, quite a lot of changelog entries; I've given them
headers by directory to indicate which changelog they go in.
Thanks!
- Brooks
Changelog entries:
--(top level)--------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.def: Added pdf target handling.
* Makefile.tpl: Added pdf target handling.
* Makefile.in: Regenerated.
---fixincludes--------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.in: Added empty "pdf" target.
---gcc----------------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* configure.ac: Added pdf to "Make-hooks"
* Makefile.in: Added TEXI2PDF definition, and various pdf-file
targets and *.pdf file patterns in cleanup targets.
* configure: Regenerated.
---gcc/cp-------------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Make-lang.in: Added "c++.pdf" target support.
---gcc/fortran--------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Make-lang.in: Added "fortran.pdf", "gfortran.pdf" target
support.
---gcc/java-----------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Make-lang.in: Added "java.pdf", "gcj.pdf" target support.
---gcc/objc-----------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Make-lang.in: Added empty "objc.pdf" target.
---gcc/objcp----------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Make-lang.in: Added empty "obj-c++.pdf" target.
---gcc/treelang-------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Make-lang.in: Added "treelang.pdf" target support.
---gnattools----------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.in: Added empty "pdf" target.
---libcpp-------------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.in: Added empty "pdf" target.
---libdecnumber-------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.in: Added empty "pdf" target.
---libiberty----------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.in: Added "pdf", "libiberty.pdf" target support.
* testsuite/Makefile.in: Added empty "pdf" target.
---libobjc------------------------------------------------
2006-10-10 Brooks Moses <address@hidden>
* Makefile.in: Added empty "pdf" target.
----------------------------------------------------------
Index: Makefile.def
===================================================================
--- Makefile.def (revision 117567)
+++ Makefile.def (working copy)
@@ -54,6 +54,7 @@
host_modules= { module= fixincludes;
missing= info;
missing= dvi;
+ missing= pdf;
missing= TAGS;
missing= install-info;
missing= installcheck; };
@@ -147,6 +148,8 @@
depend=configure; };
recursive_targets = { make_target= dvi;
depend=configure; };
+recursive_targets = { make_target= pdf;
+ depend=configure; };
recursive_targets = { make_target= html;
depend=configure; };
recursive_targets = { make_target= TAGS;
Index: Makefile.tpl
===================================================================
--- Makefile.tpl (revision 117567)
+++ Makefile.tpl (working copy)
@@ -537,12 +537,13 @@
# Here are the targets which correspond to the do-X targets.
-.PHONY: info installcheck dvi html install-info install-html
+.PHONY: info installcheck dvi pdf html install-info install-html
.PHONY: clean distclean mostlyclean maintainer-clean realclean
.PHONY: local-clean local-distclean local-maintainer-clean
info: do-info
installcheck: do-installcheck
dvi: do-dvi
+pdf: do-pdf
html: do-html
# Make sure makeinfo is built before we do a `make info', if we're
@@ -936,7 +937,7 @@
[+ ENDIF no_install +]
@endif [+module+]
-# Other targets (info, dvi, etc.)
+# Other targets (info, dvi, pdf, etc.)
[+ FOR recursive_targets +]
.PHONY: maybe-[+make_target+]-[+module+] [+make_target+]-[+module+]
maybe-[+make_target+]-[+module+]:
@@ -1044,7 +1045,7 @@
[+ ENDIF no_install +]
@endif target-[+module+]
-# Other targets (info, dvi, etc.)
+# Other targets (info, dvi, pdf, etc.)
[+ FOR recursive_targets +]
.PHONY: maybe-[+make_target+]-target-[+module+]
[+make_target+]-target-[+module+]
maybe-[+make_target+]-target-[+module+]:
Index: fixincludes/Makefile.in
===================================================================
--- fixincludes/Makefile.in (revision 117567)
+++ fixincludes/Makefile.in (working copy)
@@ -187,6 +187,7 @@
.PHONY: dvi info html install-html
dvi :
+pdf :
info :
html :
install-html :
Index: gcc/configure.ac
===================================================================
--- gcc/configure.ac (revision 117567)
+++ gcc/configure.ac (working copy)
@@ -3450,7 +3450,7 @@
rm -f Make-hooks
touch Make-hooks
target_list="all.cross start.encap rest.encap tags \
- install-common install-man install-info dvi html \
+ install-common install-man install-info dvi pdf html \
uninstall info man srcextra srcman srcinfo \
mostlyclean clean distclean maintainer-clean \
stage1 stage2 stage3 stage4 stageprofile stagefeedback"
Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in (revision 117567)
+++ gcc/Makefile.in (working copy)
@@ -268,6 +268,7 @@
MAKEINFO = @MAKEINFO@
MAKEINFOFLAGS = --no-split
TEXI2DVI = texi2dvi
+TEXI2PDF = texi2pdf
TEXI2HTML = $(MAKEINFO) --html
TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
POD2MAN = pod2man --center="GNU" --release="gcc-$(version)"
@@ -3398,7 +3399,7 @@
mv -f address@hidden $@
-# The *.1, *.7, *.info, and *.dvi files are being generated from implicit
+# The *.1, *.7, *.info, *.dvi, and *.pdf files are being generated from
implicit
# patterns. To use them, put each of the specific targets with its
# specific dependencies but no build commands.
@@ -3425,6 +3426,11 @@
doc/gccint.dvi: $(TEXI_GCCINT_FILES)
doc/cppinternals.dvi: $(TEXI_CPPINT_FILES)
+doc/cpp.pdf: $(TEXI_CPP_FILES)
+doc/gcc.pdf: $(TEXI_GCC_FILES)
+doc/gccint.pdf: $(TEXI_GCCINT_FILES)
+doc/cppinternals.pdf: $(TEXI_CPPINT_FILES)
+
$(build_htmldir)/cpp/index.html: $(TEXI_CPP_FILES)
$(build_htmldir)/gcc/index.html: $(TEXI_GCC_FILES)
$(build_htmldir)/gccint/index.html: $(TEXI_GCCINT_FILES)
@@ -3440,6 +3446,16 @@
doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
$(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
+pdf:: doc/gcc.pdf doc/gccint.pdf doc/gccinstall.pdf doc/cpp.pdf \
+ doc/cppinternals.pdf lang.pdf
+
+doc/%.pdf: %.texi
+ $(TEXI2PDF) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
+
+# Duplicate entry to handle renaming of gccinstall.pdf
+doc/gccinstall.pdf: $(TEXI_GCCINSTALL_FILES)
+ $(TEXI2PDF) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
+
# List the directories or single hmtl files which are installed by
# install-html. The lang.html file triggers language fragments to build
# html documentation. Installing language fragment documentation is not
@@ -3582,6 +3598,7 @@
-rm -f cs-*
-rm -rf libgcc
-rm -f doc/*.dvi
+ -rm -f doc/*.pdf
# Delete the include directory.
-rm -rf include
# Delete files used by the "multilib" facility (including libgcc subdirs).
@@ -3629,7 +3646,7 @@
$(MAKE) lang.maintainer-clean distclean
-rm -f cpp.??s cpp.*aux
-rm -f gcc.??s gcc.*aux
- -rm -f $(gcc_docdir)/*.info $(gcc_docdir)/*.1 $(gcc_docdir)/*.7
$(gcc_docdir)/*.dvi
+ -rm -f $(gcc_docdir)/*.info $(gcc_docdir)/*.1 $(gcc_docdir)/*.7
$(gcc_docdir)/*.dvi $(gcc_docdir)/*.pdf
#
# Entry points `install' and `uninstall'.
# Also use `install-collect2' to install collect2 when the config files don't.
Index: gcc/configure
===================================================================
--- gcc/configure (revision 117567)
+++ gcc/configure (working copy)
@@ -16143,7 +16143,7 @@
rm -f Make-hooks
touch Make-hooks
target_list="all.cross start.encap rest.encap tags \
- install-common install-man install-info dvi html \
+ install-common install-man install-info dvi pdf html \
uninstall info man srcextra srcman srcinfo \
mostlyclean clean distclean maintainer-clean \
stage1 stage2 stage3 stage4 stageprofile stagefeedback"
Index: gcc/cp/Make-lang.in
===================================================================
--- gcc/cp/Make-lang.in (revision 117567)
+++ gcc/cp/Make-lang.in (working copy)
@@ -24,7 +24,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
@@ -118,6 +118,7 @@
c++.info:
c++.install-info:
c++.dvi:
+c++.pdf:
c++.html:
c++.srcinfo:
c++.srcextra:
Index: gcc/fortran/Make-lang.in
===================================================================
--- gcc/fortran/Make-lang.in (revision 117586)
+++ gcc/fortran/Make-lang.in (working copy)
@@ -27,7 +27,7 @@
# foo.all.cross, foo.start.encap, foo.rest.encap,
# foo.info
# foo.install-common, foo.install-info, foo.install-man,
-# foo.uninstall, foo.install-info, foo.dvi, foo.html,
+# foo.uninstall, foo.install-info, foo.dvi, foo.pdf, foo.html,
# foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
@@ -127,6 +127,7 @@
fortran.info: doc/gfortran.info
fortran.dvi: doc/gfortran.dvi
+fortran.pdf: doc/gfortran.pdf
fortran.html: $(build_htmldir)/gfortran/index.html
F95_MANFILES = doc/gfortran.1
@@ -163,6 +164,9 @@
doc/gfortran.dvi: $(GFORTRAN_TEXI)
$(TEXI2DVI) -I $(srcdir)/fortran -I $(abs_docdir)/include -o $@ $<
+doc/gfortran.pdf: $(GFORTRAN_TEXI)
+ $(TEXI2PDF) -I $(srcdir)/fortran -I $(abs_docdir)/include -o $@ $<
+
$(build_htmldir)/gfortran/index.html: $(GFORTRAN_TEXI)
$(mkinstalldirs) $(@D)
rm -f $(@D)/*
Index: gcc/java/Make-lang.in
===================================================================
--- gcc/java/Make-lang.in (revision 117567)
+++ gcc/java/Make-lang.in (working copy)
@@ -27,8 +27,8 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.html,
-# foo.uninstall,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf,
+# foo.html, foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
@@ -177,6 +177,7 @@
-cp -p $^ $(srcdir)/doc
java.dvi: doc/gcj.dvi
+java.pdf: doc/gcj.pdf
java.html: $(build_htmldir)/java/index.html
JAVA_MANFILES = doc/gcj.1 doc/gcjh.1 doc/jv-scan.1 doc/jcf-dump.1 doc/gij.1 \
doc/jv-convert.1 doc/grmic.1 doc/grmiregistry.1 \
@@ -394,6 +395,9 @@
doc/gcj.dvi: $(TEXI_JAVA_FILES)
$(TEXI2DVI) -I $(abs_docdir)/include -o $@ $<
+doc/gcj.pdf: $(TEXI_JAVA_FILES)
+ $(TEXI2PDF) -I $(abs_docdir)/include -o $@ $<
+
$(build_htmldir)/java/index.html: $(TEXI_JAVA_FILES)
$(mkinstalldirs) $(@D)
rm -f $(@D)/*
Index: gcc/objc/Make-lang.in
===================================================================
--- gcc/objc/Make-lang.in (revision 117567)
+++ gcc/objc/Make-lang.in (working copy)
@@ -23,7 +23,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
@@ -90,6 +90,7 @@
objc.info:
objc.install-info:
objc.dvi:
+objc.pdf:
objc.html:
objc.man:
objc.srcinfo:
Index: gcc/objcp/Make-lang.in
===================================================================
--- gcc/objcp/Make-lang.in (revision 117567)
+++ gcc/objcp/Make-lang.in (working copy)
@@ -23,7 +23,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
@@ -98,6 +98,7 @@
obj-c++.info:
obj-c++.install-info:
obj-c++.dvi:
+obj-c++.pdf:
obj-c++.html:
obj-c++.srcinfo:
obj-c++.srcextra:
Index: gcc/treelang/Make-lang.in
===================================================================
--- gcc/treelang/Make-lang.in (revision 117567)
+++ gcc/treelang/Make-lang.in (working copy)
@@ -24,8 +24,8 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.html,
-# foo.uninstall,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.pdf
+# foo.html, foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
@@ -160,6 +160,8 @@
treelang.dvi: doc/treelang.dvi
+treelang.pdf: doc/treelang.pdf
+
TEXI_TREELANG_FILES = treelang/treelang.texi \
$(gcc_docdir)/include/gcc-common.texi \
$(gcc_docdir)/include/gpl.texi \
@@ -173,6 +175,9 @@
doc/treelang.dvi: $(TEXI_TREELANG_FILES)
$(TEXI2DVI) -I $(abs_docdir)/include -o $@ $<
+doc/treelang.pdf: $(TEXI_TREELANG_FILES)
+ $(TEXI2PDF) -I $(abs_docdir)/include -o $@ $<
+
treelang.html: $(build_htmldir)/treelang/index.html
$(build_htmldir)/treelang/index.html: $(TEXI_TREELANG_FILES)
Index: gnattools/Makefile.in
===================================================================
--- gnattools/Makefile.in (revision 117567)
+++ gnattools/Makefile.in (working copy)
@@ -302,6 +302,9 @@
# Build DVI (none here).
dvi:
+# Build PDF (none here).
+pdf:
+
# Build HTML (none here).
html:
Index: libcpp/Makefile.in
===================================================================
--- libcpp/Makefile.in (revision 117567)
+++ libcpp/Makefile.in (working copy)
@@ -180,6 +180,7 @@
check:
installcheck:
dvi:
+pdf:
html:
info:
install-info:
@@ -189,7 +190,7 @@
update-po: $(CATALOGS:.gmo=.pox)
.PHONY: installdirs install install-strip mostlyclean clean distclean \
- maintainer-clean check installcheck dvi html info install-info \
+ maintainer-clean check installcheck dvi pdf html info install-info \
install-man update-po install-html
# Dependency rule.
Index: libdecnumber/Makefile.in
===================================================================
--- libdecnumber/Makefile.in (revision 117567)
+++ libdecnumber/Makefile.in (working copy)
@@ -132,6 +132,7 @@
check:
installcheck:
dvi:
+pdf:
html:
info:
install-info:
@@ -140,7 +141,7 @@
install:
.PHONY: installdirs install install-strip mostlyclean clean distclean \
- maintainer-clean check installcheck dvi html info install-info \
+ maintainer-clean check installcheck dvi pdf html info install-info \
install-man update-po install-html
COMPILE = source='$<' object='$@' libtool=no $(CC) $(DEFS) $(INCLUDES)
$(CPPFLAGS) $(ALL_CFLAGS) -c
Index: libiberty/Makefile.in
===================================================================
--- libiberty/Makefile.in (revision 117567)
+++ libiberty/Makefile.in (working copy)
@@ -245,6 +245,7 @@
install-info: install-info-subdir
clean-info: clean-info-subdir
dvi: libiberty.dvi dvi-subdir
+pdf: libiberty.pdf pdf-subdir
# html, install-html targets
HTMLS = libiberty.html
@@ -319,6 +320,9 @@
libiberty.dvi : $(srcdir)/libiberty.texi $(TEXISRC)
texi2dvi $(srcdir)/libiberty.texi
+libiberty.pdf : $(srcdir)/libiberty.texi $(TEXISRC)
+ texi2pdf $(srcdir)/libiberty.texi
+
libiberty.html : $(srcdir)/libiberty.texi $(TEXISRC)
$(MAKEINFO) --no-split --html -I$(srcdir) -o $@ $<
@@ -434,7 +438,7 @@
clean: clean-subdir
$(MAKE) SUBDIRS="" mostlyclean
-rm -f *.a required-list tmpmulti.out
- -rm -f libiberty.dvi libiberty.info* libiberty.html
+ -rm -f libiberty.dvi libiberty.pdf libiberty.info* libiberty.html
@$(MULTICLEAN) multi-clean DO=clean
distclean: distclean-subdir
$(MAKE) SUBDIRS="" clean
@@ -463,7 +467,7 @@
# if needed. This prevents problems with parallel builds, in case
# subdirectories need to run config.status also.
all-subdir check-subdir installcheck-subdir info-subdir \
-install-info-subdir clean-info-subdir dvi-subdir install-subdir \
+install-info-subdir clean-info-subdir dvi-subdir pdf-subdir install-subdir
\
etags-subdir mostlyclean-subdir clean-subdir distclean-subdir \
maintainer-clean-subdir: config.h
@subdirs='$(SUBDIRS)'; \
Index: libiberty/testsuite/Makefile.in
===================================================================
--- libiberty/testsuite/Makefile.in (revision 117567)
+++ libiberty/testsuite/Makefile.in (working copy)
@@ -73,7 +73,7 @@
$(srcdir)/test-expandargv.c ../libiberty.a
# Standard (either GNU or Cygnus) rules we don't use.
-html install-html info install-info clean-info dvi install etags tags
installcheck:
+html install-html info install-info clean-info dvi pdf install etags tags
installcheck:
# The standard clean rules.
mostlyclean:
Index: libobjc/Makefile.in
===================================================================
--- libobjc/Makefile.in (revision 117567)
+++ libobjc/Makefile.in (working copy)
@@ -267,7 +267,7 @@
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
-fexceptions $(INCLUDES) $<
-doc: info dvi html
+doc: info dvi pdf html
# No install-html support
.PHONY: install-html
@@ -314,6 +314,7 @@
info:
dvi:
+pdf:
html:
Makefile: Makefile.in config.status
@@ -353,7 +354,7 @@
mostlyclean:
-$(LIBTOOL_CLEAN) rm -f libobjc$(libext).la libobjc_gc$(libext).la *.lo
-rm -f runtime-info.h tmp-runtime.s *.o *.lo libobjc* xforward \
- fflags *.aux *.cp *.dvi *.fn *.info *.ky *.log *.pg \
+ fflags *.aux *.cp *.dvi *.pdf *.fn *.info *.ky *.log *.pg \
*.toc *.tp *.vr *.html libobj.exp
@$(MULTICLEAN) multi-clean DO=mostlyclean
makepdf2.diff.gz
Description: GNU Zip compressed data
- [PATCH, various] Add "pdf" target to all relevant GCC makefiles.,
Brooks Moses <=