Makefile,所有规则模式的规则
Makefile, rule for all rule patterns
上下文
我正在使用模式规则
%.png: %.tex
compile.sh $<
从所有可用的(已更改的)tex 文件生成 png 文件。
问题
我不正确的是我想使用 make all
一次为所有这些人做这件事。
all: *.tex
compile.sh $^
然而,$^
似乎总是被所有 tex 文件替换,而不仅仅是被更改的文件(显然,Makefile 并不真正知道与 png 文件的连接)。
替代方法无效
正在使用
all: *.png
compile.sh $^
当 png 文件还不存在时没有意义,对吗?
是否真的有一些特定的原因让您必须使用一条命令完成所有操作?为什么不能让 all
依赖所有 .png
文件?
%.png: %.tex
compile.sh $<
TEXFILES := $(wildcard *.tex)
all: $(TEXFILES:.tex=.png)
上下文
我正在使用模式规则
%.png: %.tex
compile.sh $<
从所有可用的(已更改的)tex 文件生成 png 文件。
问题
我不正确的是我想使用 make all
一次为所有这些人做这件事。
all: *.tex
compile.sh $^
然而,$^
似乎总是被所有 tex 文件替换,而不仅仅是被更改的文件(显然,Makefile 并不真正知道与 png 文件的连接)。
替代方法无效
正在使用
all: *.png
compile.sh $^
当 png 文件还不存在时没有意义,对吗?
是否真的有一些特定的原因让您必须使用一条命令完成所有操作?为什么不能让 all
依赖所有 .png
文件?
%.png: %.tex
compile.sh $<
TEXFILES := $(wildcard *.tex)
all: $(TEXFILES:.tex=.png)