-# .texファイル
-TEXFILE = $(addsuffix .tex,$(BASE))
-
-# .auxファイル
-AUXFILE = $(addsuffix .aux,$(BASE))
-# .aux_prevファイル
-AUXFILE_PREV = $(addsuffix .aux_prev,$(BASE))
-
-# .dviファイル
-DVIFILE = $(addsuffix .dvi,$(BASE))
-
-# .dファイル
-DFILE = $(addsuffix .d,$(BASE))
-
-# .logファイル
-LOGFILE = $(addsuffix .log,$(BASE))
-
-# .tocファイル
-TOCFILE = $(addsuffix .toc,$(BASE))
-# .toc_prevファイル。.tocファイルのコピー
-TOCFILE_PREV = $(addsuffix .toc_prev,$(BASE))
-
-# .lofファイル
-LOFFILE = $(addsuffix .lof,$(BASE))
-# .lof_prevファイル。.lofファイルのコピー
-LOFFILE_PREV = $(addsuffix .lof_prev,$(BASE))
-
-# .lotファイル
-LOTFILE = $(addsuffix .lot,$(BASE))
-# .lot_prevファイル。.lotファイルのコピー
-LOTFILE_PREV = $(addsuffix .lot_prev,$(BASE))
-
-# .idxファイル
-IDXFILE = $(addsuffix .idx,$(BASE))
-# .idx_prevファイル。.idxファイルのコピー
-IDXFILE_PREV = $(addsuffix .idx_prev,$(BASE))
-
-# .indファイル
-INDFILE = $(addsuffix .ind,$(BASE))
-# .ind_prevファイル。.indファイルのコピー
-INDFILE_PREV = $(addsuffix .ind_prev,$(BASE))
-
-# .ilgファイル
-ILGFILE = $(addsuffix .ilg,$(BASE))
-
-# .bblファイル
-BBLFILE = $(addsuffix .bbl,$(BASE))
-# .bbl_prevファイル。.bblファイルのコピー
-BBLFILE_PREV = $(addsuffix .bbl_prev,$(BASE))
-
-# .blgファイル
-BLGFILE = $(addsuffix .blg,$(BASE))
-
-# .outファイル
-OUTFILE = $(addsuffix .out,$(BASE))
-# .out_prevファイル。.outファイルのコピー
-OUTFILE_PREV = $(addsuffix .out_prev,$(BASE))
-
-INTERFILES = $(strip \
- $(if $(toc),$(TOCFILE)) \
- $(if $(lof),$(LOFFILE)) \
- $(if $(lot),$(LOTFILE)) \
- $(if $(makeindex),$(INDFILE)) \
- $(if $(bibdb),$(BBLFILE)) \
- $(if $(hyperref),$(OUTFILE)) \
- )
+# .flsファイルから、INPUT/OUTPUTファイルを取得。ただし、$TEXMFDISTのファイルを除く
+IOFILES = \
+ $(sort $(filter-out $(BASE).tex $(BASE).aux, \
+ $(shell \
+ $(SED) -n -e 's/^\(INPUT\|OUTPUT\) \(.\{1,\}\)/\2/gp' $(BASE).fls | \
+ $(GREP) -v `$(KPSEWHICH) -expand-var '$$TEXMFROOT'` \
+ )))
+
+# .flsファイルから、INPUTファイルを取得。ただし、$TEXMFDISTのファイルを除く
+INPUTFILES = \
+ $(sort $(filter-out $(BASE).tex $(BASE).aux, \
+ $(shell \
+ $(SED) -n -e 's/^INPUT \(.\{1,\}\)/\1/gp' $(BASE).fls | \
+ $(GREP) -v `$(KPSEWHICH) -expand-var '$$TEXMFROOT'` \
+ )))
+
+# $(BASE).texで使われるLaTeX中間ファイル
+INTERFILES = \
+ $(sort \
+ $(subst .idx,.ind, \
+ $(filter $(addprefix $(BASE),.lof .lot .out .toc .idx .ind .bbl),$(IOFILES)) \
+ ))