c23967bdc803d792f9ba3f29127dcbdbdc76244f
[clsql.git] / doc / Makefile
1 # FILE IDENTIFICATION
2
3 #  Name:         Makefile
4 #  Purpose:      Makefile for the clsql documentation
5 #  Programer:    Kevin M. Rosenberg
6 #  Date Started: Mar 2002
7 #
8 #  CVS Id:   $Id: Makefile,v 1.17 2002/10/14 07:16:04 kevin Exp $
9 #
10 # This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
11 #
12 # CLSQL users are granted the rights to distribute and use this software
13 # as governed by the terms of the Lisp Lesser GNU Public License
14 # (http://opensource.franz.com/preamble.html), also known as the LLGPL.
15
16 # System variable to select catalog file
17 SYSTEM=debian
18 # SYSTEM=redhat
19
20 # Nothing to configure beyond this point
21
22 CATALOG=catalog.$(SYSTEM)
23
24 # Custom DSSSL's
25 DSSSL_HTML=../dsssl/html/docbook.dsl
26 DSSSL_PRINT=dsssl/print/docbook.dsl
27
28 DOCFILE_BASE_DEFAULT=clsql
29 DOCFILE_EXT_DEFAULT=sgml
30
31 # Standard docfile processing
32
33 ifndef DOCFILE_BASE
34 DOCFILE_BASE=${DOCFILE_BASE_DEFAULT}
35 endif
36
37 ifndef DOCFILE_EXT
38 DOCFILE_EXT=${DOCFILE_EXT_DEFAULT}
39 endif
40
41 DOCFILE=${DOCFILE_BASE}.${DOCFILE_EXT}
42 TEXFILE=${DOCFILE_BASE}.tex
43 PDFFILE=${DOCFILE_BASE}.pdf
44 PSFILE=${DOCFILE_BASE}.ps
45 DVIFILE=${DOCFILE_BASE}.dvi
46 TMPFILES=${DOCFILE_BASE}.aux ${DOCFILE_BASE}.out ${DOCFILE_BASE}.log
47 DOCFILES=$(shell echo *.sgml)
48
49 .PHONY: all
50 all: html pdf 
51
52 .PHONY: dist
53 dist: html pdf
54
55 .PHONY: doc
56 doc: html pdf
57
58 CHECK=nsgmls -s -C ${CATALOG} || exit 1
59
60 .PHONY: check
61 check:
62         @$(CHECK)
63
64 .PHONY: html
65 html: html.tar.gz
66
67 html.tar.gz: $(DOCFILES) Makefile
68         @$(CHECK)
69         @( 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)
70
71 .PHONY: tex
72 tex: ${TEXFILE}
73
74 ${TEXFILE}: ${DOCFILES}
75         @$(CHECK)
76         @jade -t tex -c ${CATALOG} -d ${DSSSL_PRINT} ${DOCFILE} > /dev/null
77
78 .PHONY: pdf
79 pdf: ${PDFFILE}
80
81 ${PDFFILE}: ${DOCFILES}
82         @jade -t tex -c ${CATALOG} -d ${DSSSL_PRINT} ${DOCFILE} > /dev/null
83         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
84         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
85         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
86         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
87
88 .PHONY: dvi
89 dvi: ${DVIFILE}
90
91 ${DVIFILE}: ${TEXFILE}
92         @jadetex ${TEXFILE} > /dev/null
93         @jadetex ${TEXFILE} > /dev/null
94         @jadetex ${TEXFILE} > /dev/null
95         @jadetex ${TEXFILE} > /dev/null
96
97 .PHONY: ps
98 ps: ${PSFILE}
99
100 ${PSFILE}: ${DVIFILE}
101         @dvips -o ${PSFILE} ${DVIFILE} > /dev/null
102
103 .PHONY: clean
104 clean: 
105         @rm -f *~ *.bak *.orig \#*\# .\#*  *.log
106         @rm -rf html ${PSFILE}
107         @rm -f ${TMPFILES}
108         @rm -f  ${DVIFILE} ${TEXFILE}
109
110 .PHONY: distclean
111 distclean: clean