* gas/config/tc-avr.c: Change ISA for devices with USB support to
[external/binutils.git] / gdb / doc / Makefile.in
index b7f9af0..fdd57d6 100644 (file)
@@ -1,22 +1,20 @@
-##Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003,
-##2007, 2008, 2009 Free Software Foundation, Inc.
+##Copyright (C) 1991-2013 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 srcdir = @srcdir@
 VPATH = @srcdir@
@@ -28,6 +26,9 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 pdfdir = @pdfdir@
 htmldir = @htmldir@
+mandir = @mandir@
+man1dir = $(mandir)/man1
+man5dir = $(mandir)/man5
 
 SHELL = @SHELL@
 
@@ -37,6 +38,8 @@ INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 
+SYSTEM_GDBINIT = @SYSTEM_GDBINIT@
+
 mkinstalldirs = $(SHELL) $(srcdir)/../../mkinstalldirs
 
 # main GDB source directory
@@ -46,9 +49,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
@@ -64,6 +70,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
@@ -109,12 +116,15 @@ 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
@@ -148,13 +158,34 @@ 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 $(srcdir)/../version.in`" --section=1
+POD2MAN5 = pod2man --center="GNU Development Tools" \
+                  --release="gdb-`sed q $(srcdir)/../version.in`" --section=5
+
+# List of man pages generated from gdb.texi
+MAN1S = gdb.1 gdbserver.1 gcore.1
+MAN5S = gdbinit.5
+MANS = $(MAN1S) $(MAN5S)
+
+# Host-dependent makefile fragment comes in here.
+@host_makefile_frag@
+# End of host-dependent makefile fragment
+HAVE_NATIVE_GCORE_TARGET = @HAVE_NATIVE_GCORE_TARGET@
+
 ###
 
 all:
@@ -164,8 +195,10 @@ dvi: gdb.dvi gdbint.dvi stabs.dvi refcard.dvi annotate.dvi
 ps: gdb.ps gdbint.ps stabs.ps refcard.ps annotate.ps
 html: $(HTMLFILES)
 pdf: $(PDFFILES)
+man: $(MANS)
 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)
@@ -235,7 +268,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|^.*/||'`; \
+         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|^.*/||'`; \
+         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
@@ -303,6 +388,12 @@ 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
 
 # Updated atomically
@@ -340,7 +431,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
@@ -352,12 +443,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
@@ -433,7 +524,7 @@ 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
+       $(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
@@ -456,7 +547,7 @@ gdbint.pdf: $(GDBINT_DOC_FILES)
 # GDB INTERNALS MANUAL: info file
 
 gdbint.info: $(GDBINT_DOC_FILES)
-       $(MAKEINFO) -I $(srcdir) -o gdbint.info $(srcdir)/gdbint.texinfo
+       $(MAKEINFO_CMD) -I $(srcdir) -o gdbint.info $(srcdir)/gdbint.texinfo
 
 # GDB INTERNALS MANUAL: HTML file
 
@@ -464,7 +555,7 @@ 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
+       $(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
 
 # STABS DOCUMENTATION: HTML file
 
@@ -508,15 +599,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
@@ -531,18 +651,18 @@ mostlyclean:
        rm -f sedref.dvi sedref.tex tmp.sed
 
 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: install-info install-man
 
-uninstall: uninstall-info
+uninstall: uninstall-info uninstall-man