]> granicus.if.org Git - docbook-dsssl/commitdiff
Added checks and hacks to various makefiles to enable building
authorMichael Smith <xmldoc@users.sourceforge.net>
Wed, 26 Mar 2008 06:13:59 +0000 (06:13 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Wed, 26 Mar 2008 06:13:59 +0000 (06:13 +0000)
under Cygwin. This stuff is ugly and maybe not worth the mess and
trouble, but does seem to work as expected and not break anything
else.

releasetools/Targets.mk
releasetools/Variables.mk
xsl/Makefile.incl
xsl/docsrc/Makefile
xsl/html/Makefile
xsl/slides/fo/Makefile
xsl/slides/html/Makefile

index 2f5bea4dcea07809887c6ab5002a711f4123d581..1309cd4012fd539bcadbc4590fd67003b3564a71 100644 (file)
@@ -56,8 +56,8 @@ NEWS.xml: ChangeLog.xml
        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) $@ \
index 0afb978bc5324f889b3ec830fe8a1c3849e48bca..cd9ccc9cf1783ed74d47a08a8bdeef937a503e36 100644 (file)
@@ -17,9 +17,27 @@ FRESHMEAT_SUBMIT=$(DOCBOOK_SVN)/releasetools/freshmeat-submit
 
 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
@@ -44,10 +62,10 @@ MAKE_PARAMS_XSL=$(DOCBUILD_STYLESHEETS)/make-xsl-params.xsl
 # 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
@@ -57,18 +75,34 @@ REFERENCEFOXSL=$(DOCBUILD_STYLESHEETS)/reference-fo.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
 
@@ -81,10 +115,10 @@ REVISION=$(shell if [ -f $(SVN_INFO_FILE) ]; then $(XSLTPROC) --stringparam expr
 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
@@ -206,7 +240,15 @@ GZIPFLAGS=
 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
index e9c742acaac519a34aa99726f49798ca7d5a2ed8..a2710a632d43f2a5fd16b0b5de1f1f15e823ba68 100644 (file)
@@ -1,11 +1,18 @@
+# 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)
 
@@ -32,31 +39,60 @@ $(PARAMXMLID): $(PARAMSTRIP)
 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)
index 37284b905a38787c87a2476b6718800dbf780c81..780df533eef6d3ca668688da07a84499511c143e 100644 (file)
@@ -9,11 +9,27 @@ PARAM_XML_FILES=$(foreach format,$(PARAM_DIRS),../$(format)/param.xml)
 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
@@ -34,13 +50,37 @@ clean:
        $(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
index ca72b89b0ec3773f4c2b8bbc84a2f0ed4fcca8a5..fbccf1c8501e1caffa227e39eb2ba018c38e514a 100644 (file)
@@ -7,5 +7,17 @@ PROFILECONDITION=html
 
 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
index f7a85a3cde549e26addd86946913fda1997d87f4..f0c932ce4a181b9eab5d860fdd85e0408d07e087 100644 (file)
@@ -4,8 +4,9 @@ PARAMBASE=param
 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
 
index 8c381aebe97e64c287b4def4674f3786153db52d..669988dd86d018c5e101544ff58a37695b2cbdb2 100644 (file)
@@ -4,5 +4,6 @@ PARAMBASE=param
 XSLFILES=param.xsl
 ALLTARGETS=$(XSLFILES)
 PROFILECONDITION=slides-html
+NESTLEVEL=../
 
 include ../../Makefile.incl