ドキュメントをインストールの説明とマニュアルに分割し、整理
[YACASL2.git] / doc / Makefile
1 MANUAL = manual
2 INSTALLDOC = install
3 CASL2SPEC = casl2_spec
4 MANUAL_SYSINFO = yacasl2.info
5 CSS = style.css
6
7 MV ?= mv
8 CP ?= cp
9 MKDIR ?= mkdir
10 RMF = rm -f
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 SED = sed
20
21 prefix ?= ~
22 infodir ?= $(prefix)/share/info
23
24 .PHONY: all info html htmls pdf install-info uninstall-info clean clean-textmp
25
26 .INTERMEDIATE: *.dvi
27
28 base: ../INSTALL $(MANUAL_SYSINFO) $(MANUAL).html
29
30 all: info html htmls pdf ../INSTALL $(MANUAL_SYSINFO)
31
32 info: $(MANUAL_SYSINFO) $(INSTALLDOC).info
33
34 html: $(MANUAL).html $(INSTALLDOC).html
35
36 htmls: $(MANUAL)_html
37
38 pdf: $(INSTALLDOC).pdf $(MANUAL).pdf
39
40 $(MANUAL_SYSINFO): $(MANUAL).info
41         $(CP) $< $@
42         $(SED) -i -e "s/@setfilename manual/@setfilename $(MANUAL_SYSINFO)/" $@
43
44 %.html: %.texi $(CSS)
45         $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $<
46
47 %_html: %.texi $(CSS)
48         $(INSTALL) -d $@
49         $(INSTALL) $(CSS) $@/
50         $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $<
51
52 %.pdf: %.dvi
53         $(DVI2PDF) $<
54
55 %.dvi: %.texi
56         TEX=$(PTEX) $(TEXI2DVI) -q --texinfo=@afourpaper -o $@ $<
57         @$(MAKE) clean-textmp
58
59 %.txt: %.texi
60         $(MAKEINFO) --no-headers --disable-encoding -o $@ $<
61
62 install-info: $(MANUAL_SYSINFO)
63         $(INSTALL) -d $(infodir)
64         $(INSTALL) $(MANUAL_SYSINFO) $(infodir)/
65         $(INSTALL-INFO) $(infodir)/$(MANUAL_SYSINFO) $(infodir)/dir
66         $(GZIP) -f $(infodir)/$(MANUAL_SYSINFO)
67
68 uninstall-info: $(MANUAL).info
69         $(INSTALL-INFO) --delete $(infodir)/$(MANUAL_SYSINFO) $(infodir)/dir
70         $(RMF) $(infodir)/$(MANUAL_SYSINFO)*
71
72 $(INSTALLDOC).html: $(INSTALLDOC).texi $(CSS)
73         $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $<
74
75 ../INSTALL: $(INSTALLDOC).txt
76         $(CP) $< $@
77
78 clean: clean-textmp
79         @$(RMRF) *_html *.info *.html *.pdf  *.dvi *.txt
80
81 clean-textmp:
82         @$(RMF) *.aux *.cp *.cps *.fn *.ky *.log *.pg *.pgs *.tmp *.toc *.tp *.vr