distro="$(DISTRO)" \
previous-release="$(PREVIOUS_RELEASE)" \
release-version="$(RELVER)" \
- element.file="$(shell $(cd -P $(dirname $(DOCBOOK_ELEMENTS)) && pwd -P))" \
- param.file="$(shell $(cd -P $(dirname $(XSL_PARAMS)) && pwd -P))"
+ element.file="$(DOCBOOK_ELEMENTS)" \
+ param.file="$(XSL_PARAMS)"
NEWS.html: NEWS.xml
$(XSLT) $< $(DOC_LINK_STYLE) $@ \
CATALOGMANAGER=$(DOCBOOK_SVN)/releasetools/.CatalogManager.properties.example
INSTALL_SH=$(DOCBOOK_SVN)/releasetools/install.sh
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+MAKECATALOG=../releasetools/make-catalog.xsl
+else
+MAKECATALOG=$(DOCBOOK_SVN)/releasetools/make-catalog.xsl
+endif
+else
MAKECATALOG=$(DOCBOOK_SVN)/releasetools/make-catalog.xsl
+endif
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+DOCBUILD_STYLESHEETS=../../xsl/tools/xsl/build
+RELEASEDOC_STYLESHEETS=../xsl/tools/xsl/build
+else
DOCBUILD_STYLESHEETS=$(DOCBOOK_SVN)/xsl/tools/xsl/build
+RELEASEDOC_STYLESHEETS=$(DOCBOOK_SVN)/xsl/tools/xsl/build
+endif
+else
+RELEASEDOC_STYLESHEETS=$(DOCBOOK_SVN)/xsl/tools/xsl/build
+endif
PARAMPROF=$(VPATH)/.param.profiled
PARAMSTRIP=$(VPATH)/.param.stripped
# XSL PI files to PI list
MAKE_PI_XSL=$(DOCBUILD_STYLESHEETS)/make-xsl-pi.xsl
# generated elements list
-DOCBOOK_ELEMENTS=$(DOCBUILD_STYLESHEETS)/docbook-elements.xsl
-XSL_PARAMS=$(DOCBUILD_STYLESHEETS)/xsl-params.xsl
-XSL_PI=$(DOCBUILD_STYLESHEETS)/xsl-pi.xsl
-DOCPARAM2TXT=$(DOCBUILD_STYLESHEETS)/docparam2txt.xsl
+DOCBOOK_ELEMENTS=$(RELEASEDOC_STYLESHEETS)/docbook-elements.xsl
+XSL_PARAMS=$(RELEASEDOC_STYLESHEETS)/xsl-params.xsl
+XSL_PI=$(RELEASEDOC_STYLESHEETS)/xsl-pi.xsl
+DOCPARAM2TXT=$(RELEASEDOC_STYLESHEETS)/docparam2txt.xsl
# reference.xml to reference.html
RSTYLE=$(DOCBUILD_STYLESHEETS)/reference.xsl
REFERENCETXTXSL=$(DOCBUILD_STYLESHEETS)/reference-txt.xsl
# RELEASE-NOTES.xml to RELEASE-NOTES.html
-DOC_LINK_STYLE=$(DOCBUILD_STYLESHEETS)/doc-link-docbook.xsl
+DOC_LINK_STYLE=$(RELEASEDOC_STYLESHEETS)/doc-link-docbook.xsl
DOC_BASEURI=http://docbook.sourceforge.net/release/xsl/current/doc/
# RELEASE-NOTES.xml to RELEASE-NOTES.pdf
-DBX_STYLE=$(DOCBUILD_STYLESHEETS)/dblatex-release-notes.xsl
+DBX_STYLE=$(RELEASEDOC_STYLESHEETS)/dblatex-release-notes.xsl
# MARKUP_XSL is a modified version of Jeni Tennison's "Markup Utility"
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+MARKUP_XSL=$(DOCBOOK_SVN)/releasetools/modified-markup.xsl
+else
+MARKUP_XSL=../releasetools/modified-markup.xsl
+endif
+else
MARKUP_XSL=$(DOCBOOK_SVN)/releasetools/modified-markup.xsl
+endif
# stylesheet used in taking XML output from "svn log" and using it
# to generate NEWS file(s) and releases notes
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+SVNLOG2DOCBOOK=../releasetools/svnlog2docbook.xsl
+else
+SVNLOG2DOCBOOK=$(DOCBOOK_SVN)/releasetools/svnlog2docbook.xsl
+endif
+else
SVNLOG2DOCBOOK=$(DOCBOOK_SVN)/releasetools/svnlog2docbook.xsl
+endif
SVN_INFO_FILE=.svninfo.xml
DISTRO_PARENT_URL=$(dir $(basename $(DISTRO_URL)))
# stylesheet for stripping DB5 namespace
-STRIP_NS=$(DOCBOOK_SVN)/xsl/common/stripns.xsl
+STRIP_NS=common/stripns.xsl
# stylesheet for generating FO version of release notes
-FO_STYLE=$(DOCBOOK_SVN)/xsl/fo/docbook.xsl
+FO_STYLE=fo/docbook.xsl
# BROWSER is the Web browser to use for dumpin a text version of
# release notes; text output from w3m looks better than that from
XSLTPROC=xsltproc
XSLTPROC_OPTS=
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+EVALXPATH=../releasetools/eval-xpath.xsl
+else
+EVALXPATH=$(DOCBOOK_SVN)/releasetools/eval-xpath.xsl
+endif
+else
EVALXPATH=$(DOCBOOK_SVN)/releasetools/eval-xpath.xsl
+endif
XMLLINT=xmllint
XMLLINT_OPTS=--noent
+# NOTE: the conditional checks for combination of Cygwin and Saxon
+# are used in a few places in this makefile to make it possible to
+# build with Saxon. (Java under Cygwin doesn't grok Cygwin
+# absolute paths, so use instead use relative paths.)
+# The NESTLEVEL variable is to compensate for the fact that the
+# slides/fo and slides/html stylesheets are in a subdirectory
+# nested one additional level lower than the other stylesheets.
XJPARSEFLAGS= -E 0 -w
PARAMPROF=.$(PARAMBASE).profiled
PARAMSTRIP=.$(PARAMBASE).stripped
PARAMDBKNS=.$(PARAMBASE).dbkns
PARAMXMLID=.$(PARAMBASE).xmlid
-FIXPARAMNS=$(DOCBOOK_SVN)/xsl/tools/xsl/build/fix-params-ns.xsl
-ADDNEWLINE=$(DOCBOOK_SVN)/xsl/tools/xsl/build/addnewline.xsl
-IDTOXMLID=$(DOCBOOK_SVN)/xsl/tools/xsl/build/id-to-xmlid.xsl
+FIXPARAMNS=$(NESTLEVEL)../tools/xsl/build/fix-params-ns.xsl
+ADDNEWLINE=$(NESTLEVEL)../tools/xsl/build/addnewline.xsl
+IDTOXMLID=$(NESTLEVEL)../tools/xsl/build/id-to-xmlid.xsl
XMLFILES=$(foreach file,$(XSLFILES),$(basename $(file)).xml)
ifneq ($(XSLTENGINE),saxon)
$(XSLT) $< $(DOCBOOK_SVN)/releasetools/w2docbook.xsl $@
else
- $(XSLT) $< $(DOCBOOK_SVN)/releasetools/w2docbook.xsl $@.tmp
+ifneq ($(shell uname -s | grep -i cygwin),)
+ $(XSLT) $< $(NESTLEVEL)../../releasetools/w2docbook.xsl $@.tmp
+else
+ $(XSLT) $< $(DOCBOOK_SVN)/../releasetools/w2docbook.xsl $@.tmp
+endif
$(XSLT) $@.tmp $(ADDNEWLINE) $@
$(RM) $@.tmp
endif
$(PARAMSTRIP): $(PARAMBASE).xweb $(PARAMS)
ifeq (,$(NO_MAKEFILE_PARAM))
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+ $(NESTLEVEL)../../buildtools/paramchk -m Makefile.param $<
+else
$(DOCBOOK_SVN)/buildtools/paramchk -m Makefile.param $<
endif
- $(XSLT) $< $(DOCBOOK_SVN)/xsl/profiling/profile.xsl $(PARAMPROF) profile.condition=$(PROFILECONDITION)
- $(XSLT) $(PARAMPROF) $(DOCBOOK_SVN)/xsl/profiling/strip-attributes.xsl $@ attributes=condition
+else
+ $(DOCBOOK_SVN)/buildtools/paramchk -m Makefile.param $<
+endif
+endif
+ $(XSLT) $< $(NESTLEVEL)../profiling/profile.xsl $(PARAMPROF) profile.condition=$(PROFILECONDITION)
+ $(XSLT) $(PARAMPROF) $(NESTLEVEL)../profiling/strip-attributes.xsl $@ attributes=condition
$(RM) $(PARAMPROF)
$(PARAMDBKNS): $(PARAMSTRIP)
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+ $(XSLT) $< $(NESTLEVEL)../../releasetools/xtangle.xsl $@
+else
+ $(XSLT) $< $(DOCBOOK_SVN)/releasetools/xtangle.xsl $@
+endif
+else
$(XSLT) $< $(DOCBOOK_SVN)/releasetools/xtangle.xsl $@
+endif
-titlepage.templates.xsl: titlepage.templates.xml $(DOCBOOK_SVN)/xsl/template/titlepage.xsl
- $(XSLT) $< $(DOCBOOK_SVN)/xsl/template/titlepage.xsl $@
+
+titlepage.templates.xsl: titlepage.templates.xml $(NESTLEVEL)../template/titlepage.xsl
+ $(XSLT) $< $(NESTLEVEL)../template/titlepage.xsl $@
Makefile.param:
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+ $(NESTLEVEL)../../buildtools/paramchk -m $@ param.xweb
+else
$(DOCBOOK_SVN)/buildtools/paramchk -m $@ param.xweb
+endif
+else
+ $(DOCBOOK_SVN)/buildtools/paramchk -m $@ param.xweb
+endif
$(MAKE)
-profile-docbook.xsl: docbook.xsl $(DOCBOOK_SVN)/xsl/profiling/xsl2profile.xsl
- $(XSLT) $< $(DOCBOOK_SVN)/xsl/profiling/xsl2profile.xsl $@
+profile-docbook.xsl: docbook.xsl $(NESTLEVEL)../profiling/xsl2profile.xsl
+ $(XSLT) $< $(NESTLEVEL)../profiling/xsl2profile.xsl $@
clean: $(CLEANTARGETS)
$(RM) $(XSLFILES)
PI_XML_FILES=$(foreach format,$(PI_DIRS),../$(format)/pi.xml)
OTHER_XML_FILES=../common/common.xml ../common/utility.xml ../common/refentry.xml ../common/charmap.xml ../template/titlepage.xml ../fo/table.xml
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+DOCBOOK_RNG=../../releasetools/docbook.rng
+else
DOCBOOK_RNG=$(DOCBOOK_SVN)/releasetools/docbook.rng
+endif
+else
+DOCBOOK_RNG=$(DOCBOOK_SVN)/releasetools/docbook.rng
+endif
PARAM_XSL_FILES=$(foreach format,$(PARAM_DIRS),../$(format)/param.xsl)
PI_XSL_FILES=$(foreach format,$(PI_DIRS),../$(format)/pi.xsl)
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+all: $(PARAM_XML_FILES) ../lib/lib.xml $(PI_XML_FILES) $(OTHER_XML_FILES) ../$(DOCBOOK_ELEMENTS) ../$(XSL_PARAMS) ../$(XSL_PI)
+else
+all: $(PARAM_XML_FILES) ../lib/lib.xml $(PI_XML_FILES) $(OTHER_XML_FILES) $(DOCBOOK_ELEMENTS) $(XSL_PARAMS) $(XSL_PI)
+endif
+else
all: $(PARAM_XML_FILES) ../lib/lib.xml $(PI_XML_FILES) $(OTHER_XML_FILES) $(DOCBOOK_ELEMENTS) $(XSL_PARAMS) $(XSL_PI)
+endif
../%/param.xml: ../%/param.xsl
$(MAKE) -C $(dir $@) param.xml
$(RM) $(OTHER_XML_FILES)
$(RM) reference.xml.included
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+../$(DOCBOOK_ELEMENTS): $(MAKE_ELEMENTS_XSL) $(DOCBOOK_RNG)
+else
+$(DOCBOOK_ELEMENTS): $(MAKE_ELEMENTS_XSL) $(DOCBOOK_RNG)
+endif
+else
$(DOCBOOK_ELEMENTS): $(MAKE_ELEMENTS_XSL) $(DOCBOOK_RNG)
+endif
$(XSLT) $(DOCBOOK_RNG) $< $@
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+../$(XSL_PARAMS): $(MAKE_PARAMS_XSL) $(PARAM_XSL_FILES)
+else
$(XSL_PARAMS): $(MAKE_PARAMS_XSL) $(PARAM_XSL_FILES)
+endif
+else
+$(XSL_PARAMS): $(MAKE_PARAMS_XSL) $(PARAM_XSL_FILES)
+endif
$(XSLT) $< $< $@
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+../$(XSL_PI): $(MAKE_PI_XSL) $(PI_XSL_FILES)
+else
+$(XSL_PI): $(MAKE_PI_XSL) $(PI_XSL_FILES)
+endif
+else
$(XSL_PI): $(MAKE_PI_XSL) $(PI_XSL_FILES)
+endif
$(XSLT) $< $< $@
release-clean: clean
include ../Makefile.incl
+ifneq ($(shell uname -s | grep -i cygwin),)
+ifeq ($(XSLTENGINE),saxon)
+# Java under Cygwin doesn't grok Cygwin absolute paths, so use
+# relative path instead
+profile-chunk-code.xsl: chunk-code.xsl ../profiling/xsl2profile.xsl
+ $(XSLT) $< ../profiling/xsl2profile.xsl $@
+else
profile-chunk-code.xsl: chunk-code.xsl $(DOCBOOK_SVN)/xsl/profiling/xsl2profile.xsl
$(XSLT) $< $(DOCBOOK_SVN)/xsl/profiling/xsl2profile.xsl $@
+endif
+else
+profile-chunk-code.xsl: chunk-code.xsl $(DOCBOOK_SVN)/xsl/profiling/xsl2profile.xsl
+ $(XSLT) $< $(DOCBOOK_SVN)/xsl/profiling/xsl2profile.xsl $@
+endif
XSLFILES=param.xsl
ALLTARGETS=$(XSLFILES) plain-titlepage.xsl
PROFILECONDITION=slides-fo
-TTLTEMPLATEXSL=$(DOCBOOK_SVN)/xsl/template/titlepage.xsl
+TTLTEMPLATEXSL=../../template/titlepage.xsl
CLEANTARGETS=titlepage-clean
+NESTLEVEL=../
include ../../Makefile.incl
XSLFILES=param.xsl
ALLTARGETS=$(XSLFILES)
PROFILECONDITION=slides-html
+NESTLEVEL=../
include ../../Makefile.incl