r10614: 2005-07-05 Kevin Rosenberg (kevin@rosenberg.net)
[uffi.git] / doc / Makefile
index c5a2a08a11cc01cf4f3a7aa4bb150f313598f0d3..cfae6cc7467329fed8196fe6ea113baa55b3c652 100644 (file)
@@ -8,19 +8,46 @@
 #
 #  CVS Id:   $Id$
 #
-# This file, part of UFFI, is Copyright (c) 2002-2003 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.
+# This file, part of UFFI, is Copyright (c) 2002-2005 by Kevin M. Rosenberg
 ##############################################################################
 
-OS:=debian
 DOCFILE_BASE_DEFAULT:=uffi
 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.*')
+
+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
+          endif 
+        endif
+      endif
+    endif
+  endif
+endif
+
 ifndef DOCFILE_BASE
 DOCFILE_BASE=${DOCFILE_BASE_DEFAULT}
 endif
@@ -35,9 +62,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 +84,7 @@ doc: html pdf
 
 .PHONY: check
 check:
+       @echo "Operating System Detected: ${OS}"
        @$(CHECK)
 
 .PHONY: html
@@ -60,7 +93,8 @@ 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 ISO-8859-1 \
+                --xinclude --output html/ html_chunk.xsl $(DOCFILE)
        @GZIP='-9' tar czf html.tar.gz html 
 
 .PHONY: fo
@@ -91,12 +125,13 @@ ${PSFILE}: ${DOCFILES} Makefile
 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}