Andrew Deason d86c4d632e doc: Fix doc/xml for objdir builds
Fix various issues so that building the documentation in doc/xml works
for objdir builds:

- set srcdir=@srcdir@ like all other Makefile's, so VPATH is set
  correctly via Makefile.config

- Pass "--path '@abs_builddir@'" to all xml/xsl processors, so they
  can find the generated version.xml (otherwise they only look in
  srcdir)

- Pass --output when building PDFs, so the generated PDF doesn't go in
  srcdir

- Specify $(srcdir) for $(BOOK).xml and generate-xml.pl

- Change generate-xml.pl to find pod2refentry in srcdir instead of '.'

Change-Id: Id09595dba6e70e3d367a26e279446844750d1fd4
Reviewed-on: https://gerrit.openafs.org/15856
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
2024-09-27 15:16:42 -04:00

71 lines
2.0 KiB
Makefile

# Makefile to build the AFS QuickStart guide for Unix.
#
# This makefile assumes that various utilities are available on the system.
# On Debian lenny, installing the packages:
#
# dblatex
# docbook-xsl
# libxml2-utils
# xsltproc
#
# gave me all the utilities needed.
#
# HTML_XSL is specific to Debian and will need to be modified on other
# systems until we have a better mechanism for finding the correct path.
srcdir=@srcdir@
BOOK = auqbg000
all: $(BOOK).pdf index.html $(BOOK).epub $(BOOK).mobi
include @TOP_OBJDIR@/src/config/Makefile.config
VERSION=version
include @TOP_OBJDIR@/src/config/Makefile.version
SRCS = $(BOOK).xml auqbg003.xml auqbg004.xml auqbg005.xml auqbg006.xml \
auqbg007.xml auqbg008.xml appendix.xml appendix_dafs.xml \
$(VERSION).xml
HTML_XSL = @HTML_XSL@
DOCBOOK_STYLESHEETS = @DOCBOOK_STYLESHEETS@
XSLTPROC = @XSLTPROC@
DOCBOOK2PDF = @DOCBOOK2PDF@
DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub
KINDLEGEN = @KINDLEGEN@
XSL_FLAGS = --path '@abs_builddir@'
index.html: $(SRCS)
$(XSLTPROC) $(XSL_FLAGS) \
--param navig.graphics 1 \
--param use.id.as.filename 1 \
--stringparam navig.graphics.path ../ $(DOCBOOK_STYLESHEETS)/$(HTML_XSL) \
$(srcdir)/$(BOOK).xml
$(BOOK).pdf: $(SRCS)
if test "x$(DOCBOOK2PDF)" = "xfop"; then \
$(XSLTPROC) $(XSL_FLAGS) \
$(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \
$(srcdir)/$(BOOK).xml > $(BOOK).fo; \
$(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \
else \
$(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \
$(srcdir)/$(BOOK).xml; \
fi
$(BOOK).epub: $(SRCS)
if test -x "$(DBTOEPUB)" ; then \
$(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl \
$(srcdir)/$(BOOK).xml; \
fi
$(BOOK).mobi: $(BOOK).epub
if test -n "$(KINDLEGEN)" && test -x "$(DBTOEPUB)" ; then \
$(KINDLEGEN) $(BOOK).epub -o $(BOOK).mobi; \
fi
check:
xmllint $(XSL_FLAGS) --noout --valid $(srcdir)/$(BOOK).xml
clean:
rm -f *.aux *.epub *.fo *.html *.log *.mobi *.out *.pdf