aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/Makefile.doc
blob: b2e69d536b0b243a8381a147a030afa73f1dbe8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
##
## Makefile for Proof General doc directory.
##
## Author:  David Aspinall <da@inf.ed.ac.uk>
##
## Maintainer:  Proof General maintainer <da+proofgen@inf.ed.ac.uk>
##
## $Id$
## 
###########################################################################
##
## Use:
##	make info,pdf,html    - build respective docs from texi source.
##	make doc	      - make default kinds of doc (pdf, info).
##
###########################################################################


MAKE = make -f Makefile.doc 
MAKEINFO = makeinfo
TEXI2HTML = makeinfo --html --ifinfo --number-sections --split=chapter --no-headers --css-include=proofgen.css
# `texinfo-tex' package contains texi2pdf
TEXI2PDF = texi2pdf
# `dviutils' package contains these useful utilities.
# "make rearrange" will only be called if you have dviselect.
DVISELECT = dviselect
DVICONCAT = dviconcat

# Assumes actual first two pages belong to titlepage
TITLERANGE = =1,=2

# Assumes that main document starts on third actual page
MAINRANGE = =3,=4,3:

TOC = :_1

EMACS = emacs
EMACSFLAGS = -q -no-site-file 

TMPFILE=pgt

.SUFFIXES:  .texi .info .html .pdf .gz

default: doc

.texi.info:
	$(MAKEINFO) $< 

.texi.pdf:
	$(TEXI2PDF) $< 

.texi.html:	
	$(TEXI2HTML) $<

default: doc

FORCE:

%.gz : %
	gzip -f -9 $*

## 
## doc : build pdf, info files from $(DOCNAME).texi
##
doc:	pdf info

## 
## all : build all documentation targets
##
all:    html info pdf

##
## dist: build distribution targets
##
dist:   info html pdf

pdf:    $(DOCNAME).pdf

# da: target is a fake: we actually make in a subdir
html:   $(DOCNAME).html
info:   $(DOCNAME).info

# NB: for info, could make localdir automatically from
# START-INFO-DIR-ENTRY / END-INFO-DIR-ENTRY.
# Does some utility do this?

##
## clean: Remove subsidiary documentation files
##
CLEANTARGS:=$(DOCNAME).cp $(DOCNAME).fn $(DOCNAME).vr $(DOCNAME).tp $(DOCNAME).ky $(DOCNAME).kys $(DOCNAME).pg $(DOCNAME).fns $(DOCNAME).vrs $(DOCNAME).cps $(DOCNAME).aux $(DOCNAME).log $(DOCNAME).cp $(DOCNAME).cp0 $(DOCNAME).toc
clean:
	rm -f $(CLEANTARGS)

##
## distclean: Remove documentation targets
##
distclean:   clean
	rm -rf $(DOCNAME).info* $(DOCNAME).pdf $(DOCNAME)
	rm -f *~

##
## texi: update magic comments in texi from docstrings in code.
##	  (developer use only!)
##       Must be run from source .els otherwise function arguments lost
##
$(DOCNAME).texi: 
	$(MAKE) magic
magic:
	(cd ..; make clean)
	$(EMACS) $(EMACSFLAGS) -batch -l ./docstring-magic.el $(DOCNAME).texi -f texi-docstring-magic -f save-buffer

debugmagic:
	$(EMACS) $(EMACFLAGS)  -eval '(setq debug-on-error t)' -l ./docstring-magic.el $(DOCNAME).texi -f texi-docstring-magic -f save-buffer