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