ドキュメントの修正
[YACASL2.git] / doc / texinfo.mk
1 .PHONY: texinfo-distclean texinfo-clean texinfo-textmp-clean
2
3 .INTERMEDIATE: *.org
4
5 CP := cp
6 DVIPDFMX := dvipdfmx
7 DVIPDFMX_FLAGS ?=
8 ECHO := echo
9 INSTALL-INFO := install-info
10 MAKEINFO_FLAGS ?=
11 MKDIR := mkdir
12 RMR := rm -rf
13 SED := sed
14 TEX := ptex
15 TEXI2DVI := TEX=$(TEX) texi2dvi
16 TEXI2DVI_FLAGS ?= -q --texinfo=@afourpaper
17 MV := mv
18
19 # \includeコマンドで読み込まれるファイル
20 intexi = $(strip $(shell $(SED) -n -e 's/@include \(.*\)/\1/pg' $<))
21
22 # \imageコマンドで読み込まれるファイル
23 imagetexi = $(strip $(shell $(SED) -n -e 's/.*@image{\([^,]*\)\(,[^,]*,[^,]*,[^,]*,\([^,}]*\)\)}.*/\1\3/p' $<))
24
25 # 依存関係を自動生成し、dファイルに格納
26 %.d: %.texi
27         @$(ECHO) '$@ is created by scanning $<.'
28     # texiファイルと出力ファイルの依存関係
29         @$(ECHO) '$(foreach ext,.html _html .pdf .xml .info .txt .d,$(subst .texi,$(ext),$<)): $<' >$@
30     # includeファイルの依存関係
31         $(if $(intexi),@( \
32       $(ECHO) >>$@; \
33       $(ECHO) '# Include Files' >>$@; \
34       $(ECHO) '$(foreach ext,.html _html .info .pdf .xml .txt,$<),$(subst .texi,$(ext),$<): $(intexi)') >>$@)
35   # imageファイルの依存関係
36   # Docbookは未定義
37         $(if $(imagetexi),@( \
38       $(ECHO) >>$@; \
39       $(ECHO) '# Image Files: HTML, HTML split, Info' >>$@; \
40       $(ECHO) '$(foreach ext,.html _html .info,$(subst .texi,$(ext),$<)): $(imagetexi)' >>$@))
41         $(if $(imagetexi),@( \
42       $(ECHO) >>$@; \
43       $(ECHO) '# Imagefiles: DVI -> PDF' >>$@; \
44       $(ECHO) '$(subst .texi,.pdf,$<): $(addsuffix .eps,$(basename $(imagetexi)))' >>$@))
45
46 # 変数TEXITARGETSで指定されたターゲットファイルに対応するdファイルをインクルード
47 # .dファイルからヘッダファイルの依存関係を取得する
48 # ターゲットに clean が含まれている場合は除く
49 ifeq (,$(filter %clean,$(MAKECMDGOALS)))
50   -include $(addsuffix .d,$(basename $(TEXITARGETS)))
51 endif
52
53 %.info: %.texi
54         $(MAKEINFO) $(MAKEINFO_FLAGS) -o $@ $<
55
56 %.html: %.texi
57         $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $<
58         $(SED) -i'.org' -e 's%<img src="\([^"]*\)" *[^>]*>%<object type="image/svg+xml" data="\1">&</object>%g' $@
59         $(RM) $@.org
60
61 %_html: %.texi
62         if test ! -e $@; then $(MKDIR) $@; fi
63         $(CP) $(CSS) $@/
64         $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $<
65         $(SED) -i'.org' -e 's%<img src="\([^"]*\)" *[^>]*>%<object type="image/svg+xml" data="\1">&</object>%g' $@/*.html
66         $(RM) $@/*.html.org
67
68 %.html %_html: $(CSS)
69
70 %.pdf: %.dvi
71         $(DVIPDFMX) $(DVIPDFMXFLAGS) $<
72
73 %.txt: %.texi
74         $(MAKEINFO) --no-headers --disable-encoding -o $@ $<
75
76 %.xml: %.texi
77         @$(MAKEINFO) --docbook -o $@ $<
78
79 texinfo-distclean: texinfo-clean
80         $(RMR) *_html *.info *.html *.pdf  *.dvi *.txt
81
82 texinfo-clean: texinfo-textmp-clean
83         $(RM) *.d
84
85 texinfo-textmp-clean:
86         $(RM) *.aux *.cp *.cps *.fn *.ky *.log *.pg *.pgs *.tmp *.toc *.tp *.vr