ドキュメントをマニュアルとインストールの説明に分割
[YACASL2.git] / doc / Makefile
1 MANUAL = manual
2 INSTALLDOC = install
3 MANUALSRC = $(MANUAL).texi
4 INSTALLDOCSRC = $(INSTALLDOC).texi
5 CSS = style.css
6 MANUALHTMLDIR = manual_html
7
8 MV ?= mv
9 CP ?= cp
10 MKDIR ?= mkdir
11 RMRF ?= rm -rf
12 PTEX ?= ptex
13 TEXI2DVI ?= texi2dvi
14 DVI2PDF ?= dvipdfmx
15 MAKEINFO ?= gmakeinfo
16 INSTALL ?= install
17 INSTALL-INFO ?= ginstall-info
18 GZIP = gzip
19
20 prefix ?= ~
21 infodir ?= $(prefix)/share/info
22
23 .PHONY: all install-manual uninstall-manual clean clean-manual clean-installdoc clean-textmp
24
25 .INTERMEDIATE: $(MANUAL).dvi
26
27 all: $(MANUAL).info $(MANUAL).html $(MANUALHTMLDIR) $(MANUAL).pdf $(INSTALLDOC).html ../INSTALL
28
29 $(MANUALHTMLDIR): $(MANUALSRC) $(CSS)
30         $(INSTALL) -d $@
31         $(INSTALL) $(CSS) $@/
32         $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $<
33
34 $(MANUAL).html: $(MANUALSRC) $(CSS)
35         $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $<
36
37 $(MANUAL).pdf: $(MANUAL).dvi
38         $(DVI2PDF) $<
39
40 $(MANUAL).dvi: $(MANUALSRC)
41         TEX=$(PTEX) $(TEXI2DVI) -q --texinfo=@afourpaper -o $@ $<
42         @$(MAKE) clean-textmp
43
44 $(MANUAL).txt: $(MANUALSRC)
45         $(MAKEINFO) --no-headers -o $@ $(MANUALSRC)
46
47 install-manual: $(MANUAL).info
48         $(INSTALL) -d $(infodir)
49         $(INSTALL) $(MANUAL).info $(infodir)/
50         $(INSTALL-INFO) $(infodir)/$(MANUAL).info $(infodir)/dir
51         $(GZIP) $(infodir)/$(MANUAL).info
52
53 uninstall-manual: $(MANUAL).info
54         $(INSTALL-INFO) --delete $(infodir)/$(MANUAL) $(infodir)/dir
55         $(RM) $(infodir)/$(MANUAL)*
56
57 $(INSTALLDOC).html: $(INSTALLDOCSRC) $(CSS)
58         $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $<
59
60 ../INSTALL: $(INSTALLDOCSRC)
61         $(MAKEINFO) -o $@ --no-headers $<
62
63 clean: clean-manual clean-installdoc clean-textmp
64
65 clean-manual:
66         @$(RMRF) html $(MANUALHTMLDIR) $(MANUAL).info $(MANUAL).pdf $(MANUAL).html $(MANUAL).txt 
67
68 clean-textmp:
69         @$(RMRF) $(MANUAL).aux $(MANUAL).cp $(MANUAL).cps $(MANUAL).fn $(MANUAL).ky $(MANUAL).log $(MANUAL).pg $(MANUAL).pgs $(MANUAL).tmp $(MANUAL).toc $(MANUAL).tp $(MANUAL).vr
70
71 clean-installdoc:
72         @$(RMRF) install.html ../INSTALL