-##Copyright (C) 1991-2013 Free Software Foundation, Inc.
+##Copyright (C) 1991-2018 Free Software Foundation, Inc.
# Makefile for GDB documentation.
# This file is part of GDB.
man1dir = $(mandir)/man1
man5dir = $(mandir)/man5
+transform = @program_transform_name@
+
SHELL = @SHELL@
LN_S = @LN_S@
# 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@
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
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) \
$(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
POD2MAN1 = pod2man --center="GNU Development Tools" \
- --release="gdb-$(VERSION)" --section=1
+ --release="gdb-`sed q version.subst`" --section=1
POD2MAN5 = pod2man --center="GNU Development Tools" \
- --release="gdb-$(VERSION)" --section=5
+ --release="gdb-`sed q version.subst`" --section=5
# List of man pages generated from gdb.texi
-MAN1S = gdb.1 gdbserver.1
+MAN1S = gdb.1 gdbserver.1 gcore.1 gdb-add-index.1
MAN5S = gdbinit.5
MANS = $(MAN1S) $(MAN5S)
-#### Host, target, and site specific Makefile fragments come in here.
+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 man
rm -f gdb-cfg.texi GDBvn.texi
install-man1: $(MAN1S)
test -z "$(man1dir)" || $(mkinstalldirs) "$(DESTDIR)$(man1dir)"
- @list='$(MANS)'; for p in $$list; do \
+ @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|^.*/||'`; \
+ 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='$(MANS)'; for p in $$list; do \
+ @list='$(MAN5S)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=`echo $$p | sed -e 's|^.*/||'`; \
+ 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-man1:
@test -n "$(man1dir)" || exit 0; \
- files=`{ l2='$(MANS)'; for i in $$l2; do echo "$$i"; done | \
+ 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,.,'`; \
uninstall-man5:
@test -n "$(man5dir)" || exit 0; \
- files=`{ l2='$(MANS)'; for i in $$l2; do echo "$$i"; done | \
+ 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,.,'`; \
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
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
gdb/index.html: ${GDB_DOC_FILES}
$(MAKEHTML) $(MAKEHTMLFLAGS) $(READLINE_TEXI_INCFLAG) -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_CMD) -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
-
stabs.info: $(STABS_DOC_FILES)
$(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
# Man pages
gdb.1: $(GDB_DOC_FILES)
touch $@
- -$(TEXI2POD) $(MANCONF) -Dgdb < gdb.texinfo > gdb.pod
+ -$(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 < gdb.texinfo > gdbserver.pod
+ -$(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
+
+gdb-add-index.1: $(GDB_DOC_FILES)
+ touch $@
+ -$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
+ -($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+ mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
+ rm -f gdb-add-index.pod
+
gdbinit.5: $(GDB_DOC_FILES)
touch $@
- -$(TEXI2POD) $(MANCONF) -Dgdbinit < gdb.texinfo > gdbinit.pod
+ -$(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
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 GDBvn.texi
install: install-info install-man
uninstall: uninstall-info uninstall-man
+
+# Disable implicit make rules.
+include $(srcdir)/../disable-implicit-rules.mk