1 .PHONY: clean-tex distclean-tex
11 EXTRACTBB := extractbb
23 COMPILE.tex = $(LATEX) -interaction=batchmode $(LATEXFLAG) $(addsuffix .tex,$(basename $<))
25 # logファイルに未定義参照の警告があるか確認
26 REFWARN := 'LaTeX Warning: There were undefined references.'
28 # \includeコマンドで読み込まれるtexファイル
29 intex = $(addsuffix .tex,$(basename $(strip $(shell \
30 $(SED) -n -e 's/\\\(include\|input\)\(\[[^]]*\]\)\{0,1\}{[^}]*}/&\n/gp' $< | \
31 $(SED) -e 's/.*{\([^}]*\)}.*/\1/'))))
33 # \includegraphicsコマンドで読み込まれるグラフィックファイル
34 ingraphics = $(strip $(shell \
35 $(SED) -n -e 's/\\includegraphics\(\[[^]]*\]\)\{0,1\}\({[^}]*}\)/&\n/gp' $< $(intex) | \
36 $(SED) -e 's/.*{\([^}]*\)}.*/\1/'))
38 # \bibliographyコマンドで読み込まれる文献データベースファイル
39 bibdb = $(addsuffix .bib,$(basename $(strip $(shell \
40 $(SED) -n -e 's/\\bibliography\(\[[^]]*\]\)\{0,1\}{\([^}]*\)}/&\n/gp' $< $(intex) | \
41 $(SED) -e 's/.*{\([^}]*\)}.*/\1/' | \
42 $(SED) -e 's/,/ /g'))))
44 # texファイルに索引作成の指定があるか確認
45 MAKEINDEX := '\makeindex'
46 GREP-makeindex = $(GREP) -F $(MAKEINDEX) $<
50 @$(ECHO) '$@ is created by scanning $^.'
52 @($(ECHO) '$(subst .tex,.dvi,$<) $(subst .tex,.aux,$<) $(subst .tex,.d,$<): $<' >$@)
56 $(ECHO) '# Include/Input Files - tex'; \
57 $(ECHO) '$(subst .tex,.dvi,$<) $(subst .tex,.aux,$<): $(intex)') >>$@)
59 $(if $(ingraphics),@( \
61 $(ECHO) '# IncludeGraphic Files - pdf, jpeg/jpg, png & xbb'; \
62 $(ECHO) '$(subst .tex,.dvi,$<) $(subst .tex,.aux,$<): $(ingraphics)'; \
64 $(ECHO) '$(subst .tex,.dvi,$<) $(subst .tex,.aux,$<): $(addsuffix .xbb,$(basename $(ingraphics)))') >>$@)
68 $(ECHO) '# Bibliography Files - bbl & bib'; \
69 $(ECHO) '$(subst .tex,.dvi,$<): $(subst .tex,.bbl,$<)'; \
71 $(ECHO) '$(subst .tex,.bbl,$<): $(bibdb)') >>$@)
73 $(if $(strip $(shell $(GREP-makeindex))),@( \
75 $(ECHO) '# MakeIndex Files - ind'; \
76 $(ECHO) '$(subst .tex,.dvi,$<): $(subst .tex,.ind,$<)') >>$@)
78 # 変数TARGETSで指定されたターゲットファイルに対応するdファイルをインクルード
80 -include $(addsuffix .d,$(basename $(TARGETS)))
83 # 相互参照ファイル作成。dviファイルも同時に作成される
89 # logファイルに未定義参照の警告がある場合、LaTeXで処理
90 while $(GREP) -F $(REFWARN) $(addsuffix .log,$(basename $<)); do $(COMPILE.tex); done
93 # BiBTeXで文献処理するときに使用される
95 $(BIBTEX) $(BIBTEXFLAG) $(addsuffix .aux,$(basename $<))
98 # dvipdfmxで図を挿入するときに使用される
99 # pdf、jpeg/jpg、pngファイルに対応
101 $(EXTRACTBB) $(EXTRACTBBFLAGS) $<
104 $(EXTRACTBB) $(EXTRACTBBFLAGS) $<
107 $(EXTRACTBB) $(EXTRACTBBFLAGS) $<
110 $(EXTRACTBB) $(EXTRACTBBFLAGS) $<
117 $(MENDEX) $(MENDEXFLAG) $<
121 $(DVIPDFMX) $(DVIPDFMXFLAG) $<
125 $(RM) *.aux *.bbl *.blg *.d *.idx *.ilg *.ind *.lof *.log *.lot *.out *.toc *.xbb
128 tex-distclean: tex-clean
129 $(RM) $(addsuffix .dvi,$(basename $(TARGETS))) $(addsuffix .pdf,$(basename $(TARGETS)))