-##Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003
-##Free Software Foundation, Inc.
+##Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003,
+##2007, 2008, 2009 Free Software Foundation, Inc.
# Makefile for GDB documentation.
# This file is part of GDB.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
srcdir = @srcdir@
VPATH = @srcdir@
prefix = @prefix@
infodir = @infodir@
-htmldir = $(prefix)/html
+datarootdir = @datarootdir@
+docdir = @docdir@
+pdfdir = @pdfdir@
+htmldir = @htmldir@
SHELL = @SHELL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
+mkinstalldirs = $(SHELL) $(srcdir)/../../mkinstalldirs
+
# main GDB source directory
gdbdir = $(srcdir)/..
# where to find makeinfo, preferably one designed for texinfo-2
MAKEINFO=makeinfo
-# Note that texinfo 4.0's makeinfo --html can only generate a
-# single file, which would be too large, so continue to use
-# texi2html. -sts 2000-03-28
-
-MAKEHTML = texi2html
-MAKEHTMLFLAGS = -menu -split_chapter
+MAKEHTML = $(MAKEINFO) --html
+MAKEHTMLFLAGS =
# where to find texi2roff, ditto
TEXI2ROFF=texi2roff
# where to find texi2dvi, ditto
TEXI2DVI=texi2dvi
+# Package version and bug-reporting URL.
+PKGVERSION = @PKGVERSION@
+BUGURL_TEXI = @REPORT_BUGS_TEXI@
+
# Where is the source dir for the READLINE library doc?
# Traditionally readline is in .. or .
READLINE_DIR = ${gdbdir}/../readline/doc
# Files which should be generated via 'info' and installed by 'install-info'
INFO_DEPS = gdb.info gdbint.info stabs.info annotate.info
+# Files which should be generated via 'pdf' and installed by 'install-pdf'
+PDFFILES = gdb.pdf gdbint.pdf stabs.pdf refcard.pdf annotate.pdf
+# Files which should be generated via 'html' and installed by 'install-html'
+HTMLFILES = gdb/index.html gdbint/index.html stabs/index.html annotate/index.html
+HTMLFILES_INSTALL = gdb gdbint stabs annotate
+
# There may be alternate predefined collections of switches to configure
# the GDB manual. Normally this is not done in synch with the software
# config system, since this choice tends to be independent; most people
# Don Knuth's TeX formatter
TEX = tex
+PDFTEX = pdftex
# Program to generate Postscript files from DVI files.
DVIPS = dvips
$(srcdir)/fdl.texi \
$(srcdir)/gpl.texi \
$(srcdir)/agentexpr.texi \
- $(READLINE_DIR)/rluser.texinfo \
+ $(READLINE_DIR)/rluser.texi \
$(READLINE_DIR)/inc-hist.texinfo
GDB_DOC_BUILD_INCLUDES = \
gdb-cfg.texi \
info: $(INFO_DEPS)
dvi: gdb.dvi gdbint.dvi stabs.dvi refcard.dvi annotate.dvi
ps: gdb.ps gdbint.ps stabs.ps refcard.ps annotate.ps
-html: gdb_toc.html gdbint_toc.html stabs_toc.html annotate_toc.html
-pdf: gdb.pdf gdbint.pdf stabs.pdf annotate.pdf
+html: $(HTMLFILES)
+pdf: $(PDFFILES)
all-doc: info dvi ps # pdf
diststuff: info
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
- echo " install-info --info-dir=$(infodir) $(DESTDIR)$(infodir)/$$file";\
- install-info --info-dir=$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
+ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
done; \
else : ; fi
(cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
done
-install-html: html
- for i in *.html ; do \
- $(INSTALL_DATA) $$i $(DESTDIR)$(htmldir)/$$i ; \
+html__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+
+install-html: $(HTMLFILES)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(mkinstalldirs) "$(DESTDIR)$(htmldir)"
+ @list='$(HTMLFILES_INSTALL)'; for p in $$list; do \
+ if test -f "$$p" || test -d "$$p"; then d=""; else d="$(srcdir)/"; fi; \
+ f=$(html__strip_dir) \
+ if test -d "$$d$$p"; then \
+ echo " $(mkinstalldirs) '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(mkinstalldirs) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
+ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
+ else \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ fi; \
+ done
+
+pdf__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+
+install-pdf: $(PDFFILES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)"
+ @list='$(PDFFILES)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(pdf__strip_dir) \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
done
STAGESTUFF = *.info* gdb-all.texi GDBvn.texi *.ps *.dvi *.pdf
refcard.ps : refcard.dvi
$(DVIPS) -t landscape -o $@ $?
+refcard.pdf : refcard.tex $(REFEDITS)
+ echo > tmp.sed
+ for f in x $(REFEDITS) ; do \
+ test x$$f = xx && continue ; \
+ cat $(srcdir)/$$f >>tmp.sed ; \
+ done
+ sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
+ $(SET_TEXINPUTS) $(PDFTEX) sedref.tex
+ mv sedref.pdf refcard.pdf
+ rm -f sedref.log sedref.tex tmp.sed
+
# File to record current GDB version number (copied from main dir version.in)
GDBvn.texi : ${gdbdir}/version.in
echo "@set GDBVN `sed q $(srcdir)/../version.in`" > ./GDBvn.new
+ if [ -n "$(PKGVERSION)" ]; then \
+ echo "@set VERSION_PACKAGE $(PKGVERSION)" >> ./GDBvn.new; \
+ fi
+ echo "@set BUGURL $(BUGURL_TEXI)" >> ./GDBvn.new
+ if [ "$(BUGURL_TEXI)" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \
+ echo "@set BUGURL_DEFAULT" >> ./GDBvn.new; \
+ fi
mv GDBvn.new GDBvn.texi
# Updated atomically
ln $(srcdir)/GDBvn.texi . || \
cp $(srcdir)/GDBvn.texi . ; else true; fi
rm -f $(GDB_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/gdb.texinfo
+ $(TEXI2DVI) -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \
+ $(srcdir)/gdb.texinfo
gdb.ps: gdb.dvi
$(DVIPS) -o $@ $?
ln $(srcdir)/GDBvn.texi . || \
cp $(srcdir)/GDBvn.texi . ; else true; fi
rm -f $(GDB_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/gdb.texinfo
+ $(TEXI2DVI) --pdf -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \
+ $(srcdir)/gdb.texinfo
# GDB MANUAL: info file
gdb.info: ${GDB_DOC_FILES}
# GDB MANUAL: HTML file
-gdb_toc.html: ${GDB_DOC_FILES}
+gdb/index.html: ${GDB_DOC_FILES}
$(MAKEHTML) $(MAKEHTMLFLAGS) -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo
# Clean these up before each run. Avoids a catch 22 with not being
# GDB INTERNALS MANUAL: TeX dvi file
gdbint.dvi: $(GDBINT_DOC_FILES)
rm -f $(GDBINT_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/gdbint.texinfo
+ $(TEXI2DVI) -I $(srcdir) $(srcdir)/gdbint.texinfo
gdbint.ps : gdbint.dvi
$(DVIPS) -o $@ $?
gdbint.pdf: $(GDBINT_DOC_FILES)
rm -f $(GDBINT_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/gdbint.texinfo
+ $(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/gdbint.texinfo
# GDB INTERNALS MANUAL: info file
# GDB INTERNALS MANUAL: HTML file
-gdbint_toc.html: $(GDBINT_DOC_FILES)
- $(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/gdbint.texinfo
+gdbint/index.html: $(GDBINT_DOC_FILES)
+ $(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/gdbint.texinfo
stabs.info: $(STABS_DOC_FILES)
$(MAKEINFO) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
# STABS DOCUMENTATION: HTML file
-stabs_toc.html: $(STABS_DOC_FILES)
- $(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/stabs.texinfo
+stabs/index.html: $(STABS_DOC_FILES)
+ $(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/stabs.texinfo
# Clean these up before each run. Avoids a catch 22 with not being
# able to re-generate these files (to fix a corruption) because these
# STABS DOCUMENTATION: TeX dvi file
stabs.dvi : $(STABS_DOC_FILES)
rm -f $(STABS_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/stabs.texinfo
+ $(TEXI2DVI) -I $(srcdir) $(srcdir)/stabs.texinfo
stabs.ps: stabs.dvi
$(DVIPS) -o $@ $?
stabs.pdf: $(STABS_DOC_FILES)
rm -f $(STABS_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/stabs.texinfo
+ $(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/stabs.texinfo
# Clean these up before each run. Avoids a catch 22 with not being
# able to re-generate these files (to fix a corruption) because these
# ANNOTATE DOCUMENTATION: TeX dvi file
annotate.dvi : $(ANNOTATE_DOC_FILES)
rm -f $(ANNOTATE_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) $(srcdir)/annotate.texinfo
+ $(TEXI2DVI) -I $(srcdir) $(srcdir)/annotate.texinfo
annotate.ps: annotate.dvi
$(DVIPS) -o $@ $?
annotate.pdf: $(ANNOTATE_DOC_FILES)
rm -f $(ANNOTATE_TEX_TMPS)
- $(SET_TEXINPUTS) $(TEXI2DVI) --pdf $(srcdir)/annotate.texinfo
+ $(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/annotate.texinfo
annotate.info: $(ANNOTATE_DOC_FILES)
$(MAKEINFO) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
-annotate_toc.html: $(ANNOTATE_DOC_FILES)
- $(MAKEHTML) $(MAKEHTMLFLAGS) $(srcdir)/annotate.texinfo
+annotate/index.html: $(ANNOTATE_DOC_FILES)
+ $(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/annotate.texinfo
force:
-Makefile: Makefile.in $(host_makefile_frag) $(target_makefile_frag) config.status
+Makefile: Makefile.in $(host_makefile_frag) config.status
$(SHELL) ./config.status