我有一个包含以下文件的目录
➜ hrrep git:(master) ✗ ls -l
total 1000
drwxrwxrwx 22 zmjones staff 748 May 28 23:28 data
-rw-rw-rw- 1 zmjones staff 7180 May 20 16:17 data.R
drwxrwxrwx 9 zmjones staff 306 May 28 23:38 figures
-rw-r--r-- 1 zmjones staff 85841 May 28 23:23 hill_jones_hr.bib
-rw-r--r-- 1 zmjones staff 29193 May 28 22:23 hill_jones_hr.tex
-rw-r--r-- 1 zmjones staff 572 May 28 23:46 makefile
-rw-rw-rw- 1 zmjones staff 9588 May 28 22:47 models.R
drwxrwxrwx 3 zmjones staff 102 May 28 23:28 papers
drwxrwxrwx 9 zmjones staff 306 May 28 23:28 tex
-rw-r--r-- 1 zmjones staff 1483 May 20 12:58 un_data.py
这些文件由makefile(使用GNU Make 3.81)
描述all: ./data/cat_un_data.csv ./data/rep.csv ./figures/*.png ./hj-hr.pdf
./data/cat_un_data.csv: un_data.py #refreshing one will refresh all
python un_data.py
./data/rep.csv: data.R ./data/cat_un_data.csv
R CMD BATCH --no-save --no-restore data.R
./figures/*.png: models.R ./data/rep.csv
R CMD BATCH --no-save --no-restore models.R
TEXMCD := pdflatex -interaction=batchmode
hill_jones_hr.pdf: hill_jones_hr.tex ./figures/*.png
$(TEXCMD) $<
]bibtex *.aux
$(TEXCMD) $<
$(TEXCMD) $<
find . | egrep ".*((\.(aux|log|blg|bbl|out|Rout|Rhistory|DS_Store))|~)$$" | xargs rm
rm -rf auto
makefile似乎工作正常,直到它到达hll_jones_hr.pdf目标,然后失败并出现错误:
hill_jones_hr.tex
make: hill_jones_hr.tex: No such file or directory
make: *** [hill_jones_hr.pdf] Error 1
我不明白问题是什么。当我手动执行pdflatex
和bibtex
时,文档编译正常。我尝试添加忽略错误标志无济于事。我认为这是我正在犯的一些愚蠢的错误。如果这有什么不同,这个文件夹在Dropbox中。我还尝试将./
前缀添加到.tex
文件和.pdf
目标中;错误是一样的。
答案 0 :(得分:3)
问题是没有定义$(TEXCMD)
变量,所以你的命令是:
$(TEXCMD) $<
正在扩展到$<
或只是文件名,这本身并不是合法的命令。
答案 1 :(得分:0)
使用./hill_jones_hr.tex
代替hill_jones_hr.tex
,然后重试。