对多个先决条件和多个目标使用模式规则
Make use Pattern Rule for multiple prerequisites and multiple targets
我有一个关于 make
的问题,我不知道如何解决它。我想使用 shell 脚本转换子目录中的每个文件。这是我写的:
OBJ=$(wildcard src/*.in)
OUT=$(patsubst %.in, %.out, $(notdir $(OBJ)))
%.out : src/%.in
./myscript.sh $< > $@
$(OUT) : $(OBJ)
makefile
有效,但它只为第一个 .in
文件运行脚本,然后停止。抱歉这个愚蠢的问题,但我无法解决这个问题!
因为您没有告诉 Makefile 构建所有 $(OUT)
文件,您只是在说明应该如何构建它。
试试这个
OBJ=$(wildcard src/*.in)
OUT=$(patsubst %.in, %.out, $(notdir $(OBJ)))
all: $(OUT)
%.out : src/%.in
./myscript.sh $< > $@
.PHONY: all
我有一个关于 make
的问题,我不知道如何解决它。我想使用 shell 脚本转换子目录中的每个文件。这是我写的:
OBJ=$(wildcard src/*.in)
OUT=$(patsubst %.in, %.out, $(notdir $(OBJ)))
%.out : src/%.in
./myscript.sh $< > $@
$(OUT) : $(OBJ)
makefile
有效,但它只为第一个 .in
文件运行脚本,然后停止。抱歉这个愚蠢的问题,但我无法解决这个问题!
因为您没有告诉 Makefile 构建所有 $(OUT)
文件,您只是在说明应该如何构建它。
试试这个
OBJ=$(wildcard src/*.in)
OUT=$(patsubst %.in, %.out, $(notdir $(OBJ)))
all: $(OUT)
%.out : src/%.in
./myscript.sh $< > $@
.PHONY: all