X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=doc%2Ftexinfo.mk;h=c75c261adde91165333f44ea7816781a053c968d;hp=57c32b1fd93032798bfef9d735eef0bf3b16b638;hb=9865921e38f17d8fbb333037f00a9a707fc82ec1;hpb=19875f416e24340460868fbc4e09ed2c8faaa127 diff --git a/doc/texinfo.mk b/doc/texinfo.mk index 57c32b1..c75c261 100644 --- a/doc/texinfo.mk +++ b/doc/texinfo.mk @@ -2,37 +2,79 @@ CP := cp DVIPDFMX := dvipdfmx +DVIPDFMX_FLAGS ?= +ECHO := echo INSTALL-INFO := install-info +MAKEINFO_FLAGS ?= MKDIR := mkdir RMR := rm -rf +SED := sed TEX := ptex TEXI2DVI := TEX=$(TEX) texi2dvi - -DVIPDFMX_FLAGS ?= -MAKEINFO_FLAGS ?= TEXI2DVI_FLAGS ?= -q --texinfo=@afourpaper +MV := mv + +# \includeコマンドで読み込まれるファイル +intexi = $(strip $(shell $(SED) -n -e 's/@include \(.*\)/\1/pg' $<)) + +# \imageコマンドで読み込まれるファイル +imagetexi = $(strip $(shell $(SED) -n -e 's/.*@image{\([^,]*\)\(,[^,]*,[^,]*,[^,]*,\([^,}]*\)\)}.*/\1\3/p' $<)) + +# 依存関係を自動生成し、dファイルに格納 +%.d: %.texi + @$(ECHO) '$@ is created by scanning $<.' + # texiファイルと出力ファイルの依存関係 + @$(ECHO) '$(foreach ext,.html _html .pdf .xml .info .txt .d,$(subst .texi,$(ext),$<)): $<' >$@ + # includeファイルの依存関係 + $(if $(intexi),@( \ + $(ECHO) >>$@; \ + $(ECHO) '# Include Files' >>$@; \ + $(ECHO) '$(foreach ext,.html _html .info .pdf .xml .txt,$<),$(subst .texi,$(ext),$<): $(intexi)') >>$@) + # imageファイルの依存関係 + # Docbookは未定義 + $(if $(imagetexi),@( \ + $(ECHO) >>$@; \ + $(ECHO) '# Image Files: HTML, HTML split, Info' >>$@; \ + $(ECHO) '$(foreach ext,.html _html .info,$(subst .texi,$(ext),$<)): $(imagetexi)' >>$@)) + $(if $(imagetexi),@( \ + $(ECHO) >>$@; \ + $(ECHO) '# Imagefiles: DVI -> PDF' >>$@; \ + $(ECHO) '$(subst .texi,.pdf,$<): $(addsuffix .eps,$(basename $(imagetexi)))' >>$@)) + +# 変数TEXITARGETSで指定されたターゲットファイルに対応するdファイルをインクルード +# .dファイルからヘッダファイルの依存関係を取得する +# ターゲットに clean が含まれている場合は除く +ifeq (,$(filter %clean,$(MAKECMDGOALS))) + -include $(addsuffix .d,$(basename $(TEXITARGETS))) +endif %.info: %.texi $(MAKEINFO) $(MAKEINFO_FLAGS) -o $@ $< -%.html: %.texi $(CSS) +%.html: %.texi $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $< -%_html: %.texi $(CSS) +%_html: %.texi if test ! -e $@; then $(MKDIR) $@; fi $(CP) $(CSS) $@/ $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $< +%.html %_html: $(CSS) + %.pdf: %.dvi $(DVIPDFMX) $(DVIPDFMXFLAGS) $< %.txt: %.texi $(MAKEINFO) --no-headers --disable-encoding -o $@ $< +%.xml: %.texi + @$(MAKEINFO) --docbook -o $@ $< + texinfo-distclean: texinfo-clean - @$(RMR) *_html *.info *.html *.pdf *.dvi *.txt + $(RMR) *_html *.info *.html *.pdf *.dvi *.txt texinfo-clean: texinfo-textmp-clean + $(RM) *.d -textmp-textmp-clean: - @$(RM) *.aux *.cp *.cps *.fn *.ky *.log *.pg *.pgs *.tmp *.toc *.tp *.vr +texinfo-textmp-clean: + $(RM) *.aux *.cp *.cps *.fn *.ky *.log *.pg *.pgs *.tmp *.toc *.tp *.vr