X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2FMakefile;h=8905b68aae89e5c60661e12f50015fdd5dc277a4;hb=f55711065679053a2f78cd94552f42167157bae2;hp=b49647281f4e684cb3075bda2b71e4b67275048f;hpb=0817a8721cbefca2205dcde535ff6b164033abef;p=hyperobject.git diff --git a/doc/Makefile b/doc/Makefile index b496472..8905b68 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,33 +1,43 @@ +############################################################################## # FILE IDENTIFICATION # # Name: Makefile -# Purpose: Makefile for the hyperobject hyperobject documentation +# Purpose: Makefile for the hyperobject documentation # Programer: Kevin M. Rosenberg # Date Started: Mar 2002 # # CVS Id: $Id$ # -# This file, part of Hyperobject, is Copyright (c) 2002 by Kevin M. Rosenberg +# This file, part of HYPEROBJECT, is Copyright (c) 2002-2003 by Kevin M. Rosenberg # -# System variable to select catalog file -SYSTEM=fink -#SYSTEM=debian -# SYSTEM=redhat +# HYPEROBJECT users are granted the rights to distribute and use this software +# as governed by the terms of the Lisp Lesser GNU Public License +# (http://opensource.franz.com/preamble.html), also known as the LLGPL. +############################################################################## -# Nothing to configure beyond this point +DOCFILE_BASE_DEFAULT:=hyperobject +DOCFILE_EXT_DEFAULT:=xml -CATALOG=catalog.$(SYSTEM) -# Custom DSSSL's -DSSSL_HTML=../dsssl/html/docbook.dsl -DSSSL_PRINT=dsssl/print/docbook.dsl - -DOCFILE_BASE_DEFAULT=hyperobject -DOCFILE_EXT_DEFAULT=sgml +# Standard docfile processing -JADE=openjade +DEBIAN=$(shell expr "`cat /etc/issue`" : '.*Debian.*') +SUSE=$(shell expr "`cat /etc/issue`" : '.*SuSE.*') +REDHAT=$(shell expr "`cat /etc/issue`" : '.*RedHat.*') + + +ifneq (${DEBIAN},0) +OS:=debian +else + ifneq (${SUSE},0) + OS=suse + else + ifneq (${REDHAT},0) + OS=redhat + endif + endif +endif -# Standard docfile processing ifndef DOCFILE_BASE DOCFILE_BASE=${DOCFILE_BASE_DEFAULT} @@ -37,13 +47,22 @@ ifndef DOCFILE_EXT DOCFILE_EXT=${DOCFILE_EXT_DEFAULT} endif -DOCFILE=${DOCFILE_BASE}.${DOCFILE_EXT} -TEXFILE=${DOCFILE_BASE}.tex -PDFFILE=${DOCFILE_BASE}.pdf -PSFILE=${DOCFILE_BASE}.ps -DVIFILE=${DOCFILE_BASE}.dvi -TMPFILES=${DOCFILE_BASE}.aux ${DOCFILE_BASE}.out ${DOCFILE_BASE}.log -DOCFILES=$(shell echo *.sgml) +DOCFILE:=${DOCFILE_BASE}.${DOCFILE_EXT} +FOFILE:=${DOCFILE_BASE}.fo +PDFFILE:=${DOCFILE_BASE}.pdf +PSFILE:=${DOCFILE_BASE}.ps +DVIFILE:=${DOCFILE_BASE}.dvi +TXTFILE:=${DOCFILE_BASE}.txt +HTMLFILE:=${DOCFILE_BASE}.html +TMPFILES:=${DOCFILE_BASE}.aux ${DOCFILE_BASE}.out ${DOCFILE_BASE}.log +DOCFILES:=$(shell echo *.xml *.xsl) + +ifeq ($(XSLTPROC),) + XSLTPROC:=xsltproc +endif + +CATALOG:=`pwd`/catalog-${OS}.xml +CHECK:=XML_CATALOG_FILES="$(CATALOG)" xmllint --noout --xinclude --postvalid $(DOCFILE) || exit 1 .PHONY: all all: html pdf @@ -54,57 +73,58 @@ dist: html pdf .PHONY: doc doc: html pdf -CHECK=onsgmls -s -C ${CATALOG} || exit 1 - .PHONY: check check: + @echo "Operating System Detected: ${OS}" @$(CHECK) .PHONY: html html: html.tar.gz -html.tar.gz: $(DOCFILES) Makefile - @$(CHECK) - @( rm -rf html ; mkdir html; cd html ; $(JADE) -t sgml -c ../${CATALOG} -d ${DSSSL_HTML} ../${DOCFILE} > /dev/null; cp book1.html index.html; cd ..; GZIP='-9' tar czf html.tar.gz html) +html.tar.gz: $(DOCFILES) Makefile + @rm -rf html + @mkdir html + @XML_CATALOG_FILES="$(CATALOG)" $(XSLTPROC) --stringparam chunker.output.encoding ISO-8859-1 \ + --xinclude --output html/ html_chunk.xsl $(DOCFILE) + @GZIP='-9' tar czf html.tar.gz html -.PHONY: tex -tex: ${TEXFILE} +.PHONY: fo +fo: ${FOFILE} -${TEXFILE}: ${DOCFILES} - @$(CHECK) - @$(JADE) -t tex -c ${CATALOG} -d ${DSSSL_PRINT} ${DOCFILE} > /dev/null +${FOFILE}: $(DOCFILES) Makefile + @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output $(FOFILE) fo.xsl $(DOCFILE) .PHONY: pdf pdf: ${PDFFILE} -${PDFFILE}: ${DOCFILES} - @$(JADE) -t tex -c ${CATALOG} -d ${DSSSL_PRINT} ${DOCFILE} > /dev/null - @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null - @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null - @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null - @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null +${PDFFILE}: ${DOCFILES} Makefile + @$(MAKE) fo + @fop $(FOFILE) -pdf $(PDFFILE) > /dev/null .PHONY: dvi dvi: ${DVIFILE} -${DVIFILE}: ${TEXFILE} - @jadetex ${TEXFILE} > /dev/null - @jadetex ${TEXFILE} > /dev/null - @jadetex ${TEXFILE} > /dev/null - @jadetex ${TEXFILE} > /dev/null - .PHONY: ps ps: ${PSFILE} -${PSFILE}: ${DVIFILE} - @dvips -o ${PSFILE} ${DVIFILE} > /dev/null +${PSFILE}: ${DOCFILES} Makefile + @$(MAKE) fo + @fop $(FOFILE) -ps $(PSFILE) > /dev/null + + +.PHONY: txt +txt: ${TXTFILE} + +${TXTFILE}: ${FOFILE} + @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output ${HTMLFILE} html.xsl $(DOCFILE) + lynx -dump ${HTMLFILE} > ${TXTFILE} .PHONY: clean clean: @rm -f *~ *.bak *.orig \#*\# .\#* texput.log - @rm -rf html ${PSFILE} - @rm -f ${TMPFILES} - @rm -f ${DVIFILE} ${TEXFILE} + @rm -rf html ${PSFILE} ${HTMLFILE} + @rm -f ${TMPFILES} ${FOFILE} + @rm -f ${DVIFILE} ${TXTFILE} .PHONY: distclean distclean: clean