別のディレクトリに格納されたデータを使用して、メイクファイルでSweaveドキュメントをコンパイルしようとしていますが、現在のディレクトリのスクリプトで組み立てられています。ワークフローは、このようなものになる:SweaveとのMakefileの依存関係
:datamaker.R>/otherdirectory /データ> .rnw> .tex> .PDF
を私は現在、下記の創造に似たメイクファイルを持っています
MASTER = foo.pdf
VPATH = /otherdirectory
all: $(MASTER)
open $<
data: datamaker.R
R CMD BATCH 'datamaker.R'
foo.rnw: data
foo.tex: foo.rnw
R CMD SWEAVE 'foo.rnw'
foo.pdf: foo.tex
pdflatex foo.tex
問題は、 'datamaker'が 'data'より古い場合でも、R CMD BATCHコマンドが毎回実行されることです。私はかなり明白な何かを欠いていると確信していますが、私は数時間の間、私の髪を引っ張ってきました。
推測:
はこれを試してみてください 'R CMD BATCH'コマンドは実際に'/'otherdirectoryではなく、現在のディレクトリにある' data'を生成し、右のことですか? – Beta
はい、そうです。 – gregmacfarlane