X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=doc%2Ftexinfo.mk;h=2e017083f42388974101cb05c078c6889bbd3be6;hp=b0a5f01913d287cf5800f7c939203e5279b2e86f;hb=fb0bcba29bcdff5d92ff53887120ba356a00aa67;hpb=921a2913cc7d7d499b273ce24ce204272ecfa4e9 diff --git a/doc/texinfo.mk b/doc/texinfo.mk index b0a5f01..2e01708 100644 --- a/doc/texinfo.mk +++ b/doc/texinfo.mk @@ -1,27 +1,67 @@ -.PHONY: texinfo-distclean textmp-clean +.PHONY: texinfo-distclean texinfo-clean texinfo-textmp-clean -CP ?= cp +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) $< + $(SED) -i '' 's%]*>%&%g' $@ -%_html: %.texi $(CSS) +%_html: %.texi if test ! -e $@; then $(MKDIR) $@; fi $(CP) $(CSS) $@/ $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $< + $(SED) -i '' 's%]*>%&%g' $@ + +%.html %_html: $(CSS) %.pdf: %.dvi $(DVIPDFMX) $(DVIPDFMXFLAGS) $< @@ -29,10 +69,14 @@ TEXI2DVI_FLAGS ?= -q --texinfo=@afourpaper %.txt: %.texi $(MAKEINFO) --no-headers --disable-encoding -o $@ $< -texinfo-distclean: textmp-clean - @$(RMR) *_html *.info *.html *.pdf *.dvi *.txt +%.xml: %.texi + @$(MAKEINFO) --docbook -o $@ $< + +texinfo-distclean: texinfo-clean + $(RMR) *_html *.info *.html *.pdf *.dvi *.txt -texinfo-clean: textmp-clean +texinfo-clean: texinfo-textmp-clean + $(RM) *.d -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