5b60baf80f0595e2e9f214b9ba3b1a677e36014e
[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.11 2002/05/13 02:57:25 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 html: $(DOCFILES)
65         @$(CHECK)
66         @( rm -rf html ; mkdir html; cd html ; jade -t sgml -c ../${CATALOG} -d ${DSSSL_HTML} ../${DOCFILE} > /dev/null; ln -s book1.html index.html; cd ..)
67
68 .PHONY: tex
69 tex: ${TEXFILE}
70
71 ${TEXFILE}: ${DOCFILES}
72         @$(CHECK)
73         @jade -t tex -c ${CATALOG} -d ${DSSSL_PRINT} ${DOCFILE} > /dev/null
74
75 .PHONY: pdf
76 pdf: ${PDFFILE}
77
78 ${PDFFILE}: ${TEXFILE}
79         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
80         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
81         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
82         @pdfjadetex -interaction=batchmode '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
83
84 .PHONY: dvi
85 dvi: ${DVIFILE}
86
87 ${DVIFILE}: ${TEXFILE}
88         @jadetex ${TEXFILE} > /dev/null
89         @jadetex ${TEXFILE} > /dev/null
90         @jadetex ${TEXFILE} > /dev/null
91         @jadetex ${TEXFILE} > /dev/null
92
93 .PHONY: ps
94 ps: ${PSFILE}
95
96 ${PSFILE}: ${DVIFILE}
97         @dvips -o ${PSFILE} ${DVIFILE} > /dev/null
98
99 .PHONY: clean
100 clean: 
101         @rm -f *~ *.bak *.orig \#*\# .\#*
102         @rm -f ${TMPFILES}
103         @rm -f  ${DVIFILE} ${TEXFILE}
104
105 .PHONY: distclean
106 distclean: clean
107         @rm -rf html
108         @rm -f ${PSFILE} ${PDFFILE}