在Makefile中对目标的可选择的depencency。

问题描述 投票:0回答:1

能否在Makefile (GNU Make)中为一个目标创建一个可选的依赖关系?

help:
    @echo Usage:

clean:
    @echo Cleaning...

build: clean?
    @echo Building...

预期的输出。

$ make
Usage:

$ make clean
Cleaning...

$ make build
Building...

$ make build clean
Cleaning...
Building...

$ make clean build
Cleaning...
Building...

目标的集合 是固定的下不去手,即

rebuild: clean build

.PHONY: rebuild

是不可接受的。

makefile gnu-make
1个回答
1
投票

是的,你可以这样做。

build: $(filter clean,$(MAKECMDGOALS))
        @echo Building...

参见: https:/www.gnu.orgsoftwaremakemanualhtml_nodeGoals.htmlhttps:/www.gnu.orgsoftwaremakemanualhtml_nodeText-Functions.html#index-filter

© www.soinside.com 2019 - 2024. All rights reserved.