这个Makefile和LaTeX有什么问题?

时间:2015-11-16 22:20:00

标签: makefile

我正在尝试使用以下Makefile来编译LaTeX项目。

# LaTeX Makefile
FILE=Tesis
all: $(FILE).pdf
.PHONY: clean
clean:
        rm *.aux *.blg *.out *.bbl *.log *.dvi *.idx *.lof *.toc *.pdf
$(FILE).pdf: $(FILE).tex
$(FILE).tex: Generalidades.tex Analisis.tex Diseno.tex Construccion.tex Conclusiones.tex Tesis.bib
        latex $(FILE).tex
        bibtex $(FILE)
        latex $(FILE)
        dvipdfm $(FILE).dvi

文件Tesis.pdf不存在。但是在跑完之后我得到了:

make: Nothing to be done for `all'

有什么问题?感谢。

1 个答案:

答案 0 :(得分:1)

你的依赖

$(FILE).pdf: $(FILE).tex

没有与之关联的规则 - 它缺少一系列缩进行,告诉make如何从.tex文件制作PDF。这意味着它总是是最新的。

另一方面,你的第二个依赖:

$(FILE).tex: Generalidades.tex Analisis.tex ...
    latex $(FILE).tex

说'$(FILE).tex依赖于Generalidades.tex Analisis.tex ...,并使它[即.tex文件]更新,运行latex'。那不是你的意思。

尝试

$(FILE).pdf: $(FILE).tex Generalidades.tex Analisis.tex ...
    latex $(FILE).tex
    ...

(顺便说一句,如果你使用pdflatex,那么你可以直接从.tex来源生成PDF文件。你必须使用.pdf数字而不是{{1} }},但很容易将.eps数字转换为.eps)。