X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fdoc%2FMakefile.in;h=e0e50c166eb7c3204b3f11905dd4a479b2803d42;hb=58afddc6c7c5eaacdb68cdc3cacd0f76a3d01490;hp=d6d6c1353cca218be6afbcbb52a701b14213be7c;hpb=a17152447c522398d002226a03878f9c9da8395c;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/doc/Makefile.in b/gdb/doc/Makefile.in index d6d6c1353c..e0e50c166e 100644 --- a/gdb/doc/Makefile.in +++ b/gdb/doc/Makefile.in @@ -1,5 +1,4 @@ -##Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003, -##2007, 2008, 2009 Free Software Foundation, Inc. +##Copyright (C) 1991-2017 Free Software Foundation, Inc. # Makefile for GDB documentation. # This file is part of GDB. @@ -27,6 +26,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ pdfdir = @pdfdir@ htmldir = @htmldir@ +mandir = @mandir@ +man1dir = $(mandir)/man1 +man5dir = $(mandir)/man5 + +transform = @program_transform_name@ SHELL = @SHELL@ @@ -36,6 +40,8 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ +SYSTEM_GDBINIT = @SYSTEM_GDBINIT@ + mkinstalldirs = $(SHELL) $(srcdir)/../../mkinstalldirs # main GDB source directory @@ -45,9 +51,12 @@ gdbdir = $(srcdir)/.. TEXIDIR=${gdbdir}/../texinfo # where to find makeinfo, preferably one designed for texinfo-2 -MAKEINFO=makeinfo +MAKEINFO = @MAKEINFO@ +MAKEINFOFLAGS = @MAKEINFOFLAGS@ +MAKEINFO_EXTRA_FLAGS = @MAKEINFO_EXTRA_FLAGS@ +MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS) -MAKEHTML = $(MAKEINFO) --html +MAKEHTML = $(MAKEINFO_CMD) --html MAKEHTMLFLAGS = # where to find texi2roff, ditto @@ -56,6 +65,9 @@ TEXI2ROFF=texi2roff # where to find texi2dvi, ditto TEXI2DVI=texi2dvi +# Package to install the docs under +PACKAGE = @PACKAGE@ + # Package version and bug-reporting URL. PKGVERSION = @PKGVERSION@ BUGURL_TEXI = @REPORT_BUGS_TEXI@ @@ -63,6 +75,7 @@ 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 +READLINE_TEXI_INCFLAG = @READLINE_TEXI_INCFLAG@ # The GDB/MI docs come from a sibling directory ../mi GDBMI_DIR = ${gdbdir}/mi @@ -71,13 +84,13 @@ SET_TEXINPUTS = \ TEXINPUTS=${TEXIDIR}:.:$(srcdir):$(READLINE_DIR):$(GDBMI_DIR):$$TEXINPUTS # Files which should be generated via 'info' and installed by 'install-info' -INFO_DEPS = gdb.info gdbint.info stabs.info annotate.info +INFO_DEPS = gdb.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 +PDFFILES = gdb.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 +HTMLFILES = gdb/index.html stabs/index.html annotate/index.html +HTMLFILES_INSTALL = gdb 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 @@ -108,36 +121,31 @@ PDFTEX = pdftex DVIPS = dvips # Main GDB manual +# Note that this unconditionally includes the readline texi files, +# even when --with-system-readline is used. This is harmless because +# these are only used as dependencies. GDB_DOC_SOURCE_INCLUDES = \ $(srcdir)/fdl.texi \ $(srcdir)/gpl.texi \ $(srcdir)/agentexpr.texi \ $(READLINE_DIR)/rluser.texi \ - $(READLINE_DIR)/inc-hist.texinfo + $(READLINE_DIR)/hsuser.texi GDB_DOC_BUILD_INCLUDES = \ gdb-cfg.texi \ GDBvn.texi GDB_DOC_FILES = \ $(srcdir)/gdb.texinfo \ + $(srcdir)/guile.texi \ + $(srcdir)/python.texi \ $(GDB_DOC_SOURCE_INCLUDES) \ $(GDB_DOC_BUILD_INCLUDES) -# Internals Manual -GDBINT_DOC_SOURCE_INCLUDES = \ - $(srcdir)/fdl.texi \ - $(srcdir)/observer.texi -GDBINT_DOC_BUILD_INCLUDES = \ - gdb-cfg.texi \ - GDBvn.texi -GDBINT_DOC_FILES = \ - $(srcdir)/gdbint.texinfo \ - $(GDBINT_DOC_SOURCE_INCLUDES) \ - $(GDBINT_DOC_BUILD_INCLUDES) - # Stabs manual: All files STABS_DOC_SOURCE_INCLUDES = \ $(srcdir)/fdl.texi -STABS_DOC_BUILD_INCLUDES = +STABS_DOC_BUILD_INCLUDES = \ + gdb-cfg.texi \ + GDBvn.texi STABS_DOC_FILES = \ $(srcdir)/stabs.texinfo \ $(STABS_DOC_SOURCE_INCLUDES) \ @@ -147,24 +155,81 @@ STABS_DOC_FILES = \ ANNOTATE_DOC_SOURCE_INCLUDES = \ $(srcdir)/fdl.texi ANNOTATE_DOC_BUILD_INCLUDES = \ - gdb-cfg.texi + gdb-cfg.texi \ + GDBvn.texi ANNOTATE_DOC_FILES = \ $(srcdir)/annotate.texinfo \ $(ANNOTATE_DOC_SOURCE_INCLUDES) \ $(ANNOTATE_DOC_BUILD_INCLUDES) -#### Host, target, and site specific Makefile fragments come in here. +# Options to extract the man page from gdb.texinfo +MANCONF = -Dman + +TEXI2POD = perl $(srcdir)/../../etc/texi2pod.pl \ + $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS) + +POD2MAN1 = pod2man --center="GNU Development Tools" \ + --release="gdb-`sed q version.subst`" --section=1 +POD2MAN5 = pod2man --center="GNU Development Tools" \ + --release="gdb-`sed q version.subst`" --section=5 + +# List of man pages generated from gdb.texi +MAN1S = gdb.1 gdbserver.1 gcore.1 +MAN5S = gdbinit.5 +MANS = $(MAN1S) $(MAN5S) + +HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@ + ### all: 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 +dvi: gdb.dvi stabs.dvi refcard.dvi annotate.dvi +ps: gdb.ps stabs.ps refcard.ps annotate.ps html: $(HTMLFILES) pdf: $(PDFFILES) +man: $(MANS) + +DOXYGEN = doxygen +doxyedit = sed -e 's,@srcdir\@,$(srcdir),g' + +doxy: doxy/index.html \ + doxy/gdb-api/index.html \ + doxy/gdb-xref/index.html \ + doxy/gdbserver/index.html + +doxy/index.html: $(srcdir)/doxy-index.in + -mkdir -p doxy + cp $(srcdir)/doxy-index.in doxy/index.html + +doxy/gdb-api/index.html: Doxyfile-gdb-api Doxyfile-base + -mkdir -p doxy + $(DOXYGEN) Doxyfile-gdb-api + +doxy/gdb-xref/index.html: Doxyfile-gdb-xref Doxyfile-base + -mkdir -p doxy + $(DOXYGEN) Doxyfile-gdb-xref + +doxy/gdbserver/index.html: Doxyfile-gdbserver Doxyfile-base + -mkdir -p doxy + $(DOXYGEN) Doxyfile-gdbserver + +Doxyfile-base: $(srcdir)/Doxyfile-base.in + $(doxyedit) $(srcdir)/Doxyfile-base.in >Doxyfile-base + +Doxyfile-gdb-api: $(srcdir)/Doxyfile-gdb-api.in + $(doxyedit) $(srcdir)/Doxyfile-gdb-api.in >Doxyfile-gdb-api + +Doxyfile-gdb-xref: $(srcdir)/Doxyfile-gdb-xref.in + $(doxyedit) $(srcdir)/Doxyfile-gdb-xref.in >Doxyfile-gdb-xref + +Doxyfile-gdbserver: $(srcdir)/Doxyfile-gdbserver.in + $(doxyedit) $(srcdir)/Doxyfile-gdbserver.in >Doxyfile-gdbserver + all-doc: info dvi ps # pdf -diststuff: info +diststuff: info man + rm -f gdb-cfg.texi GDBvn.texi install-info: $(INFO_DEPS) $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(infodir) @@ -234,7 +299,59 @@ install-pdf: $(PDFFILES) $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ done -STAGESTUFF = *.info* gdb-all.texi GDBvn.texi *.ps *.dvi *.pdf +install-man: install-man1 install-man5 + +install-man1: $(MAN1S) + test -z "$(man1dir)" || $(mkinstalldirs) "$(DESTDIR)$(man1dir)" + @list='$(MAN1S)'; for p in $$list; do \ + if test "x$(HAVE_NATIVE_GCORE_TARGET)$(HAVE_NATIVE_GCORE_HOST)" = x \ + -a "$$p" = gcore.1; then \ + continue; \ + fi; \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=`echo $$p | sed -e 's|^.*/||' -e '$(transform)'`; \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(man1dir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(man1dir)/$$f"; \ + done + +install-man5: $(MAN5S) + test -z "$(man5dir)" || $(mkinstalldirs) "$(DESTDIR)$(man5dir)" + @list='$(MAN5S)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=`echo $$p | sed -e 's|^.*/||' -e '$(transform)'`; \ + echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(man5dir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(man5dir)/$$f"; \ + done + +uninstall-man: uninstall-man1 uninstall-man5 + +uninstall-man1: + @test -n "$(man1dir)" || exit 0; \ + files=`{ l2='$(MAN1S)'; for i in $$l2; do \ + if test "x$(HAVE_NATIVE_GCORE_TARGET)$(HAVE_NATIVE_GCORE_HOST)" = x \ + -a "$$i" = gcore.1; then \ + continue; \ + fi; \ + echo "$$i"; \ + done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } + +uninstall-man5: + @test -n "$(man5dir)" || exit 0; \ + files=`{ l2='$(MAN5S)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.5[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man5dir)" && rm -f $$files; } + +STAGESTUFF = *.info* gdb-all.texi GDBvn.texi *.ps *.dvi *.pdf *.1 *.5 # Copy the object files from a particular stage into a subdirectory. stage1: force @@ -292,9 +409,9 @@ refcard.pdf : refcard.tex $(REFEDITS) 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 +# File to record current GDB version number. +GDBvn.texi : version.subst + echo "@set GDBVN `sed q version.subst`" > ./GDBvn.new if [ -n "$(PKGVERSION)" ]; then \ echo "@set VERSION_PACKAGE $(PKGVERSION)" >> ./GDBvn.new; \ fi @@ -302,8 +419,18 @@ GDBvn.texi : ${gdbdir}/version.in if [ "$(BUGURL_TEXI)" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \ echo "@set BUGURL_DEFAULT" >> ./GDBvn.new; \ fi + if test -z "$(READLINE_TEXI_INCFLAG)"; then \ + echo "@set SYSTEM_READLINE" >> ./GDBvn.new; \ + fi + if [ -n "$(SYSTEM_GDBINIT)" ]; then \ + echo "@set SYSTEM_GDBINIT $(SYSTEM_GDBINIT)" >> ./GDBvn.new; \ + fi mv GDBvn.new GDBvn.texi +version.subst: $(gdbdir)/version.in $(gdbdir)/../bfd/version.h + date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $(gdbdir)/../bfd/version.h`; \ + sed -e "s/DATE/$$date/" < $(gdbdir)/version.in > version.subst + # Updated atomically .PRECIOUS: GDBvn.texi @@ -339,7 +466,7 @@ gdb.dvi: ${GDB_DOC_FILES} ln $(srcdir)/GDBvn.texi . || \ cp $(srcdir)/GDBvn.texi . ; else true; fi rm -f $(GDB_TEX_TMPS) - $(TEXI2DVI) -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \ + $(TEXI2DVI) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \ $(srcdir)/gdb.texinfo gdb.ps: gdb.dvi @@ -351,12 +478,12 @@ gdb.pdf: ${GDB_DOC_FILES} ln $(srcdir)/GDBvn.texi . || \ cp $(srcdir)/GDBvn.texi . ; else true; fi rm -f $(GDB_TEX_TMPS) - $(TEXI2DVI) --pdf -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \ + $(TEXI2DVI) --pdf $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \ $(srcdir)/gdb.texinfo # GDB MANUAL: info file gdb.info: ${GDB_DOC_FILES} - $(MAKEINFO) -I ${READLINE_DIR} -I ${GDBMI_DIR} -I $(srcdir) \ + $(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \ -o gdb.info $(srcdir)/gdb.texinfo # GDB MANUAL: roff translations @@ -432,38 +559,10 @@ gdb.mm: $(GDB_DOC_FILES) links2roff # GDB MANUAL: HTML file 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 -# able to re-generate these files (to fix a corruption) because these -# files contain a corruption. -GDBINT_TEX_TMPS = gdbint.aux gdbint.cp* gdbint.fn* gdbint.ky* \ - gdbint.log gdbint.pg* gdbint.toc gdbint.tp* gdbint.vr* - -# GDB INTERNALS MANUAL: TeX dvi file -gdbint.dvi: $(GDBINT_DOC_FILES) - rm -f $(GDBINT_TEX_TMPS) - $(TEXI2DVI) -I $(srcdir) $(srcdir)/gdbint.texinfo - -gdbint.ps : gdbint.dvi - $(DVIPS) -o $@ $? - -gdbint.pdf: $(GDBINT_DOC_FILES) - rm -f $(GDBINT_TEX_TMPS) - $(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/gdbint.texinfo - -# GDB INTERNALS MANUAL: info file - -gdbint.info: $(GDBINT_DOC_FILES) - $(MAKEINFO) -I $(srcdir) -o gdbint.info $(srcdir)/gdbint.texinfo - -# GDB INTERNALS MANUAL: HTML file - -gdbint/index.html: $(GDBINT_DOC_FILES) - $(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/gdbint.texinfo + $(MAKEHTML) $(MAKEHTMLFLAGS) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo stabs.info: $(STABS_DOC_FILES) - $(MAKEINFO) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo + $(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo # STABS DOCUMENTATION: HTML file @@ -507,15 +606,44 @@ annotate.pdf: $(ANNOTATE_DOC_FILES) $(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/annotate.texinfo annotate.info: $(ANNOTATE_DOC_FILES) - $(MAKEINFO) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo + $(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo annotate/index.html: $(ANNOTATE_DOC_FILES) $(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/annotate.texinfo +# Man pages +gdb.1: $(GDB_DOC_FILES) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dgdb < $(srcdir)/gdb.texinfo > gdb.pod + -($(POD2MAN1) gdb.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f gdb.pod + +gdbserver.1: $(GDB_DOC_FILES) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dgdbserver < $(srcdir)/gdb.texinfo > gdbserver.pod + -($(POD2MAN1) gdbserver.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f gdbserver.pod + +gcore.1: $(GDB_DOC_FILES) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dgcore < $(srcdir)/gdb.texinfo > gcore.pod + -($(POD2MAN1) gcore.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f gcore.pod + +gdbinit.5: $(GDB_DOC_FILES) + touch $@ + -$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod + -($(POD2MAN5) gdbinit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \ + mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1) + rm -f gdbinit.pod + force: -Makefile: Makefile.in $(host_makefile_frag) config.status - $(SHELL) ./config.status +Makefile: Makefile.in $(host_makefile_frag) ../config.status + cd .. && $(SHELL) ./config.status doc/Makefile # The "least clean" level of cleaning. Get rid of files which are @@ -524,24 +652,27 @@ Makefile: Makefile.in $(host_makefile_frag) config.status mostlyclean: rm -f gdb.mm gdb.ms gdb.me links2roff rm -f $(GDB_TEX_TMPS) - rm -f $(GDBINT_TEX_TMPS) rm -f $(STABS_TEX_TMPS) rm -f $(ANNOTATE_TEX_TMPS) rm -f sedref.dvi sedref.tex tmp.sed + rm -f version.subst clean: mostlyclean - rm -f gdb-cfg.texi + rm -f gdb-cfg.texi GDBvn.texi distclean: clean - rm -f Makefile config.status config.log + rm -f Makefile # GDBvn.texi, the dvi files, the info files, and the postscript files, # are all part of the distribution, so it should not be removed by # "clean" or "distclean". Use maintainer-clean to remove them. maintainer-clean realclean: distclean - rm -f GDBvn.texi *.info* *.dvi *.ps *.html *.pdf + rm -f GDBvn.texi *.info* *.dvi *.ps *.html *.pdf $(MANS) + +install: install-info install-man -install: install-info +uninstall: uninstall-info uninstall-man -uninstall: uninstall-info +# Disable implicit make rules. +include $(srcdir)/../disable-implicit-rules.mk