From 4fbade4507b1e801145df318226ec0ce4301e280 Mon Sep 17 00:00:00 2001 From: j8takagi Date: Thu, 5 Dec 2013 11:49:02 +0900 Subject: [PATCH] =?utf8?q?.d=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E4=BD=9C?= =?utf8?q?=E6=88=90=E6=99=82=E3=81=AB=E9=81=85=E5=BB=B6=E5=A4=89=E6=95=B0?= =?utf8?q?=E3=81=8C=E6=AD=A3=E3=81=97=E3=81=8F=E8=A9=95=E4=BE=A1=E3=81=95?= =?utf8?q?=E3=82=8C=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE?= =?utf8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- latex_mk/latex.mk | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/latex_mk/latex.mk b/latex_mk/latex.mk index f157113..b8c069a 100644 --- a/latex_mk/latex.mk +++ b/latex_mk/latex.mk @@ -80,10 +80,10 @@ LATEXINTEXT := .bbl .glo .idx .ind .lof .lot .out .toc # .blg: BiBTeXログ LOGEXT := .log .ilg .blg -ALLINTERFILES = $(addprefix *,.aux $(LATEXINTEXT) $(LOGEXT) .fls .d .*_prev) +ALLINTEXT := .aux .dvi $(LATEXINTEXT) $(LOGEXT) .fls .d .*_prev # make完了後、中間ファイルを残す -.SECONDARY: $(wildcard ALLINTERFILES) +.SECONDARY: $(foreach t,$(TEXTARGETS),$(addprefix $(basename $t),$(ALLINTEXT))) # ファイル名から拡張子を除いた部分 BASE = $(basename $<) @@ -110,14 +110,14 @@ OUTFILESre = $(eval OUTPUTFILES := \ # $(BASE).texで読み込まれる中間ファイルを$(BASE).flsから取得する # .idxは、.indへ置換 -LATEXINTERFILES = \ +LATEXINTFILES = \ $(sort $(subst .idx,.ind, \ $(filter $(addprefix $(BASE),$(LATEXINTEXT)),$(INPUTFILES) $(OUTPUTFILES)) \ )) -LATEXINTERFILES_PREV = $(addsuffix _prev,$(LATEXINTERFILES)) +LATEXINTFILES_PREV = $(addsuffix _prev,$(LATEXINTFILES)) -# TeXファイル - .tex +# 分割され、\includeや\inputで読み込まれるTeXファイル - .tex TEXFILES = $(filter %.tex,$(INPUTFILES)) # 対応する画像ファイルの拡張子 @@ -139,8 +139,7 @@ GRAPHICFILESre = $(eval GRAPHICFILES := \ )) # そのほかの読み込みファイル -OTHERFILES = \ - $(sort $(filter-out %.aux $(LATEXINTERFILES) $(TEXFILES) $(GRAPHICFILES),$(INPUTFILES))) +OTHERFILES = $(sort $(filter-out %.aux $(LATEXINTFILES) $(TEXFILES) $(GRAPHICFILES),$(INPUTFILES))) # \bibliography命令で読み込まれる文献データベースファイルをTeXファイルから検索する BIBDB = $(BIBDBre) @@ -182,7 +181,7 @@ COMPILE.dvi = \ ($(SED) -n -e '/^Output written on toc_hyperref.dvi/,$$p' $(BASE).log; exit 1) # ターゲットファイルと必須ファイルを比較し、内容が異なる場合はターゲットファイルの内容を必須ファイルに置き換える -CMPPREV = $(CMP) $@ $< || $(CP) -p -v $< $@ +CMPPREV = $(CMP) $@ $< && $(ECHO) '$@ is up to date.' || $(CP) -p -v $< $@ ###################################################################### # .dファイルの生成と読み込み @@ -205,20 +204,26 @@ GENERETE.fls = \ # 依存関係を.dファイルに書き出す %.d: %.fls + # 変数の展開 + @$(ECHO) "extract LATEXINTFILES:$(LATEXINTFILES) TEXFILES:$(TEXFILES) GRAPHICFILES:$(GRAPHICFILES) BIBDB:$(BIBDB)" # .dファイルの依存関係 @$(ECHO) '$(BASE).d: $(BASE).tex $(BASE).fls' >$@ + # 中間ファイルの依存関係 + $(if $(sort $(LATEXINTFILES) $(BIBDB)),@( \ + $(ECHO); \ + $(ECHO) '# LaTeX Intermediate Files'; \ + $(ECHO) '$(BASE).dvi:: $(sort $(LATEXINTFILES_PREV) $(if $(BIBDB),$(BASE).bbl_prev))'; \ + $(ECHO) ' @$$(COMPILE.tex)'; \ + $(ECHO); \ + $(ECHO) '$(BASE).dvi:: $(BASE).aux'; \ + $(ECHO) ' @$$(COMPILES.tex)'; \ + ) >>$@) # \includeまたは\input命令で読み込まれるTeXファイルの依存関係 $(if $(TEXFILES),@( \ $(ECHO); \ $(ECHO) '# Files called from \include or \input - .tex'; \ $(ECHO) '$(BASE).aux: $(TEXFILES)'; \ ) >>$@) - # そのほかのファイル(TEXMFROOT以外にあるスタイルファイルなど)の依存関係 - $(if $(OTHERFILES),@( \ - $(ECHO); \ - $(ECHO) '# Other files'; \ - $(ECHO) '$(BASE).aux: $(OTHERFILES)'; \ - ) >>$@) # 画像ファイルの依存関係 $(if $(GRAPHICFILES),@( \ $(ECHO); \ @@ -236,15 +241,11 @@ GENERETE.fls = \ $(ECHO) '# Bibliography files: .aux, BIBDB -> .bbl -> .div'; \ $(ECHO) '$(BASE).bbl: $(BIBDB) $(BASE).tex'; \ ) >>$@) - # 中間ファイルの依存関係 - $(if $(sort $(LATEXINTERFILES) $(BIBDB)),@( \ - $(ECHO); \ - $(ECHO) '# LaTeX Intermediate Files'; \ - $(ECHO) '$(BASE).dvi:: $(sort $(LATEXINTERFILES_PREV) $(if $(BIBDB),$(BASE).bbl_prev))'; \ - $(ECHO) ' @$$(COMPILE.tex)'; \ + # そのほかのファイル(TEXMFROOT以外にあるスタイルファイルなど)の依存関係 + $(if $(OTHERFILES),@( \ $(ECHO); \ - $(ECHO) '$(BASE).dvi:: $(BASE).aux'; \ - $(ECHO) ' @$$(COMPILES.tex)'; \ + $(ECHO) '# Other files'; \ + $(ECHO) '$(BASE).aux: $(OTHERFILES)'; \ ) >>$@) @$(ECHO) '$@ is generated by scanning $(BASE).tex and $(BASE).fls.' @@ -387,7 +388,7 @@ tex-xbb: # 中間ファイルの削除 tex-clean: - $(RM) $(ALLINTERFILES) + $(RM) $(addprefix *,$(ALLINTEXT)) $(RM) -r $(FLSDIR) ifeq (,$(filter %.dvi,$(TEXTARGETS))) $(RM) *.dvi -- 2.18.0