我有一个Makefile模板来生成我的乳胶文档,但有一个我不明白的问题......
我的主要乳胶文件包含位于./includes/中的其他乳胶文件。问题是每当我在其中一个文件中进行修改时,MAKE只是看不到它而且不会重新编译。
Makefile的相关部分是:
DOC ?= report.tex
PDF := $(DOC:.tex=.pdf)
INCLUDES ?=
IMG_DIRS ?= img
IMG_FILES := $(wildcard $(IMG_DIRS)/*.svg $(IMG_DIRS)/*.png)
IMG_EPS := $(patsubst %svg, %eps, $(patsubst %png, %eps, $(IMG_FILES)))
all: pdf
pdf: $(DOC) $(INCLUDES) $(BIBLIOS) $(STYLES) $(IMG_FILES) $(IMG_EPS) $(PDF)
%pdf: %tex
$(TEX) '$(PWD)/$<'
$(BIB) '$(PWD)/$(shell basename $(DOC) .tex)'
$(TEX) '$(PWD)/$<'
$(TEX) '$(PWD)/$<'
$(INCLUDES)是鬃毛目标的依赖项,因此它应该重新编译。我尝试了许多具有相同结果的配置。
由于启发我,我只缺少一些东西。
答案 0 :(得分:1)
您的$(INCLUDES)
变量展开为空(它为空)。它应该包含.pdf包含的文件列表。
以下内容使用includes/
目录中的所有.tex文件对其进行初始化:
INCLUDES := $(wildcard includes/*.tex)