Makefileの整理
[YACASL2.git] / doc / Makefile
1 DOCNAME = yacasl2
2 SRC = $(DOCNAME).texi
3 CSS = style.css
4
5 MV = mv
6 CP = cp
7 MKDIR = mkdir
8 RMRF = rm -rf
9 PTEX = ptex
10 TEXI2DVI = texi2dvi
11 DVI2PDF = dvipdfmx
12 MAKEINFO = makeinfo
13
14 .PHONY: doc info htmlnosplit html pdf clean clean_docs clean_tex_tmp
15
16 .INTERMEDIATE: $(DOCNAME).dvi
17
18 doc: info htmlnosplit html pdf
19
20 info: $(DOCNAME).info
21
22 htmlnosplit: $(DOCNAME).html
23         $(MV) $< index.html
24
25 html: $(SRC) $(CSS)
26         if test ! -e $@; then $(MKDIR) $@; fi;
27         $(CP) $(CSS) $@/$(CSS)
28         $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $(SRC)
29
30 pdf: $(DOCNAME).pdf
31
32 $(DOCNAME).html: $(SRC) $(CSS)
33         $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $(SRC)
34
35 $(DOCNAME).pdf: $(DOCNAME).dvi
36         $(DVI2PDF) $^
37
38 $(DOCNAME).dvi: $(SRC)
39         TEX=$(PTEX) $(TEXI2DVI) -q --texinfo=@afourpaper -o $@ $<
40         @$(MAKE) clean_tex_tmp
41
42 clean: clean_docs clean_tex_tmp
43
44 clean_docs:
45         @$(RMRF) html $(DOCNAME).info $(DOCNAME).pdf $(DOCNAME).html
46
47 clean_tex_tmp:
48         @$(RMRF) $(DOCNAME).aux $(DOCNAME).cp $(DOCNAME).cps $(DOCNAME).fn $(DOCNAME).ky $(DOCNAME).log $(DOCNAME).pg $(DOCNAME).pgs $(DOCNAME).tmp $(DOCNAME).toc $(DOCNAME).tp $(DOCNAME).vr