正在运行Makefile,但最后一个文件被跳过 - R
问题描述:
也许我在这里做了一些非常愚蠢的事情,但我确实无法发现我的错误。这里是Makefile中:正在运行Makefile,但最后一个文件被跳过 - R
R_OPTS=--no-save --no-restore --no-init-file --no-site-file
data/clean_data.RData: R/0_clean.R data/raw_data.dta
cd R;Rscript 0_clean.R $(R_OPTS)
fig/ttest_result.pdf: R/1_1_ttest_result.R data/clean_data.RData
cd R;Rscript 1_1_ttest_result.R $(R_OPTS)
由于只有raw_data.dta
,如果我跑make
,创建clean_data.RData
但ttest_result.pdf
不是。但是,当我明确运行make fig/ttest_result.pdf
时,会创建该文件。我为什么迷失了?
额外的信息:1_1_ttest_result.R
使用ggsave()
答
默认创建ttest_result.pdf
与GGPLOT2当你运行一个make文件,没有目标就是建立的第一个目标。在这种情况下,这只是“data/clean_data.RDat”,因此这是唯一将被创建的文件。这就是为什么你经常看到类似文件的原因
R_OPTS=--no-save --no-restore --no-init-file --no-site-file
all: data/clean_data.RData fig/ttest_result.pdf
data/clean_data.RData: R/0_clean.R data/raw_data.dta
cd R;Rscript 0_clean.R $(R_OPTS)
fig/ttest_result.pdf: R/1_1_ttest_result.R data/clean_data.RData
cd R;Rscript 1_1_ttest_result.R $(R_OPTS)
所以第一个目标列出了默认情况下你想建立的所有东西。
我知道它一定是直接的东西:(谢谢! – Heisenberg 2014-09-27 01:24:21