Remove old CVS $Id$ keyword
[uffi.git] / doc / Makefile
index b887aad66fb3321355ab1451899e70ee2dd1075b..85f9752e61de7c082bdb18f98b7fb23c3929a577 100644 (file)
@@ -1,3 +1,4 @@
+##############################################################################
 # FILE IDENTIFICATION
 # 
 #  Name:         Makefile
@@ -5,40 +6,51 @@
 #  Programer:    Kevin M. Rosenberg
 #  Date Started: Mar 2002
 #
-#  CVS Id:   $Id: Makefile,v 1.11 2002/04/07 09:12:35 kevin Exp $
-#
-# This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
-#
-# UFFI 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.
-
-
-
-# Set to DSSSL
-# For RedHat 6.x
-#DSSSL_HTML=/usr/lib/sgml/stylesheets/nwalsh-modular/html/docbook.dsl
-#DSSL_PRINT=/usr/lib/sgml/stylesheets/nwalsh-modular/print/docbook.dsl
+# This file, part of UFFI, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
+##############################################################################
 
-# For RedHat 7.2
-DSSSL_HTML=/usr/share/sgml/docbook/dsssl-stylesheets-1.64/html/docbook.dsl 
-DSSSL_PRINT=/usr/share/sgml/docbook/dsssl-stylesheets-1.64/print/docbook.dsl
+DOCFILE_BASE_DEFAULT:=uffi
+DOCFILE_EXT_DEFAULT:=xml
 
-# Latest version
-#DSSSL_HTML=/usr/share/sgml/docbook/dsssl-stylesheets-1.76/html/docbook.dsl 
-#DSSSL_PRINT=/usr/share/sgml/docbook/dsssl-stylesheets-1.76/print/docbook.dsl
-
-# Custom version
-#DSSSL_HTML=/home/kevin/lisp/docbook/html/lisp.dsl
-#DSSSL_PRINT=/home/kevin/lisp/docbook/print/lisp.dsl
-
-# Nothing to configure beyond this point
-
-DOCFILE_BASE_DEFAULT=uffi
-DOCFILE_EXT_DEFAULT=sgml
 
 # Standard docfile processing
 
+DEBIAN=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*Debian.*')
+UBUNTU=$(shell expr "`cat /etc/issue 2> /dev/null`" : '.*Ubuntu.*')
+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.*')
+
+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=ubuntu
+            endif 
+          endif 
+        endif
+      endif
+    endif
+  endif
+endif
+
 ifndef DOCFILE_BASE
 DOCFILE_BASE=${DOCFILE_BASE_DEFAULT}
 endif
@@ -47,61 +59,84 @@ 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
 
-.PHONY: all dist check html tex pdf ps distclean
+CATALOG:=`pwd`/catalog-${OS}.xml
+CHECK:=XML_CATALOG_FILES="$(CATALOG)" xmllint --noout --xinclude --postvalid $(DOCFILE) || exit 1
 
-all: html pdf ps dvi
+.PHONY: all
+all: html pdf 
 
+.PHONY: dist
 dist: html pdf
 
+.PHONY: doc
+doc: html pdf
+
+.PHONY: check
 check:
-       nsgmls -s -C catalog || exit 1
+       @echo "Operating System Detected: ${OS}"
+       @$(CHECK)
 
-html: html/book1.htm
+.PHONY: html
+html: html.tar.gz
 
-html/book1.htm: ${DOCFILES} check
-       @( rm -rf html ; mkdir html; cd html ; jade -t sgml -c ../catalog -d ${DSSSL_HTML} ../${DOCFILE}; cd ..)
+html.tar.gz: $(DOCFILES) Makefile 
+       @rm -rf html
+       @mkdir html
+       @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 
 
-tex: ${TEXFILE}
+.PHONY: fo
+fo: ${FOFILE}
 
-${TEXFILE}: ${DOCFILES} check
-       jade -t tex -c catalog -d ${DSSSL_PRINT} ${DOCFILE}
+${FOFILE}: $(DOCFILES) Makefile 
+       @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output $(FOFILE) fo.xsl $(DOCFILE)
 
+.PHONY: pdf
 pdf: ${PDFFILE}
 
-${PDFFILE}: ${TEXFILE}
-       @pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
-       @pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
-       @pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
-       @pdfjadetex '\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}
-       @jadetex ${TEXFILE}
-       @jadetex ${TEXFILE}
-       @jadetex ${TEXFILE}
-
+.PHONY: ps
 ps: ${PSFILE}
 
-${PSFILE}: ${DVIFILE}
-       @dvips -o ${PSFILE} ${DVIFILE}
+${PSFILE}: ${DOCFILES} Makefile
+       @$(MAKE) fo
+       @fop $(FOFILE) -ps $(PSFILE) > /dev/null
 
-clean:
-       @rm -rf html
-       @rm -f ${PSFILE} ${PDFFILE} ${DVIFILE} ${TEXFILE}
-       @rm -f ${TMPFILES} *~
-       @rm -f
 
-distclean: clean
+.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} ${HTMLFILE}
+       @rm -f ${TMPFILES} ${FOFILE}
+       @rm -f  ${DVIFILE} ${TXTFILE}
 
+.PHONY: distclean
+distclean: clean