X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=doc%2FMakefile;h=59a524b969407a1776cf1fd8b6b55ad91642db04;hp=e061af2623d9e4d5e3bd9bcaa2e353ee3a16f98b;hb=31ca29efddf77e342aa180dfd2d2e292f6055530;hpb=a35619ce17c910796b4f6f58c5916f8f513073e1 diff --git a/doc/Makefile b/doc/Makefile index e061af2..59a524b 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,4 +1,5 @@ -############################################################################## +#!/usr/bin/make +############################################################################### # FILE IDENTIFICATION # # Name: Makefile @@ -6,21 +7,56 @@ # Programer: Kevin M. Rosenberg # Date Started: Mar 2002 # -# CVS Id: $Id$ -# -# This file, part of CLSQL, is Copyright (c) 2002-2003 by Kevin M. Rosenberg +# This file, part of CLSQL, is Copyright (c) 2002-2010 by Kevin M. Rosenberg # # CLSQL 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. -############################################################################## +############################################################################### -OS:=debian DOCFILE_BASE_DEFAULT:=clsql DOCFILE_EXT_DEFAULT:=xml + # Standard docfile processing +DEBIAN=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*Debian.*') +SUSE=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*SuSE.*') +SUSE91=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*SuSE Linux 9.1.*') +REDHAT=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*Red Hat.*') +MANDRAKE=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*Mandrake.*') +DARWIN=$(shell expr "`uname -a`" : '.*Darwin.*') +UBUNTU=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*Ubuntu.*') + + +ifneq (${DEBIAN},0) +OS:=debian +else + ifneq (${SUSE91},0) + OS=suse91 + else + ifneq (${SUSE},0) + OS=suse + else + ifneq (${REDHAT},0) + OS=redhat + else + ifneq (${MANDRAKE},0) + OS=mandrake + else + ifneq (${DARWIN},0) + OS=darwin + else + ifneq (${UBUNTU},0) + OS:=debian + endif + endif + endif + endif + endif + endif +endif + ifndef DOCFILE_BASE DOCFILE_BASE=${DOCFILE_BASE_DEFAULT} endif @@ -35,9 +71,14 @@ 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 @@ -52,6 +93,7 @@ doc: html pdf .PHONY: check check: + @echo "Operating system detected: ${OS}" @$(CHECK) .PHONY: html @@ -60,19 +102,21 @@ html: html.tar.gz html.tar.gz: $(DOCFILES) Makefile @rm -rf html @mkdir html - @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output html/ html.xsl $(DOCFILE) + @XML_CATALOG_FILES="$(CATALOG)" $(XSLTPROC) --stringparam chunker.output.encoding UTF-8 \ + --xinclude --output html/ html_chunk.xsl $(DOCFILE) @GZIP='-9' tar czf html.tar.gz html .PHONY: fo fo: ${FOFILE} ${FOFILE}: $(DOCFILES) Makefile - @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output $(FOFILE) fo.xsl $(DOCFILE) + @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --stringparam fop1.extensions 1 --output $(FOFILE) fo.xsl $(DOCFILE) .PHONY: pdf pdf: ${PDFFILE} -${PDFFILE}: ${FOFILE} +${PDFFILE}: ${DOCFILES} Makefile + @$(MAKE) fo @fop $(FOFILE) -pdf $(PDFFILE) > /dev/null .PHONY: dvi @@ -81,7 +125,8 @@ dvi: ${DVIFILE} .PHONY: ps ps: ${PSFILE} -${PSFILE}: ${FOFILE} +${PSFILE}: ${DOCFILES} Makefile + @$(MAKE) fo @fop $(FOFILE) -ps $(PSFILE) > /dev/null @@ -89,12 +134,13 @@ ${PSFILE}: ${FOFILE} txt: ${TXTFILE} ${TXTFILE}: ${FOFILE} - @fop $(FOFILE) -txt $(TXTFILE) > /dev/null + @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 -rf html ${PSFILE} ${HTMLFILE} @rm -f ${TMPFILES} ${FOFILE} @rm -f ${DVIFILE} ${TXTFILE}