【发布时间】:2015-05-11 14:39:24
【问题描述】:
我有一个项目的生成文件(如下),其中我获得了一个“原始数据”文件夹 - 来自一位同事的一组文件,我制作了一个 R 脚本,对其中的一些进行分析那些文件。然后我想对makefile做的是将目录分配给变量RAWDIR,然后使用该变量指定R脚本的make依赖项,并作为脚本的命令行参数。通常在 shell 中,使用双引号和花括号时会扩展带有空格的目录,但我不知道这是否也适用于 make 文件,就像下面的 makefile 一样,我收到消息 make: *** No rule to make target""../Raw ',pulls'. Stop. 需要,所以我认为分配给 RAWDIR 的文件路径没有被正确扩展。
谢谢。
RAWDIR="../Raw Data/Fc Project Raw Data"
.PHONY: dirs
pulls: dirs "${RAWDIR}/pm_fc_dnds_cleandata.csv" "${RAWDIR}/fc1_seqs.fasta" "${RAWDIR}/fc2_seqs.fasta" "${RAWDIR}/pm1_seqs.fasta" "${RAWDIR}/pm2_seqs.fasta"
Rscript Allele_Pulling.R "${RAWDIR}/" "${RAWDIR}/pm_fc_dnds_cleandata.csv"
dirs:
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/FC
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/PM
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/Both
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/FC1PM1
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/FC1PM2
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/FC2PM1
mkdir -p -v Pulled_Allelic_Pairs/Unaligned/FC2PM2
mkdir -p -v Pulled_Allelic_Pairs/Aligned/FC
mkdir -p -v Pulled_Allelic_Pairs/Aligned/PM
mkdir -p -v Pulled_Allelic_Pairs/Aligned/Both
mkdir -p -v Pulled_Allelic_Pairs/Aligned/FC1PM1
mkdir -p -v Pulled_Allelic_Pairs/Aligned/FC1PM2
mkdir -p -v Pulled_Allelic_Pairs/Aligned/FC2PM1
mkdir -p -v Pulled_Allelic_Pairs/Aligned/FC2PM2
【问题讨论】:
-
我不相信
make理解路径名中的引号字符串或空格;它来自较老的时代,当时人们没有这样做,因为当您尝试在目录中包含空格时会受到伤害。错误消息与该观察结果一致。
标签: r bash variables path makefile