GNU Make 规则仅在目标存在时执行?

Jos*_*ord 3 makefile gnu-make mount-point

在相当复杂的 Makefile 中,我偶尔会希望仅在目标确实存在时才调用某些规则。例如,我可能创建了一个本地目录并用于losetup将文件挂载到其中。我想在处理挂载点和目录时将其保持打开状态,但在某些操作之前自动关闭它们。

当需要打包时,我想要sync安装文件,umount然后对底层文件执行一些操作。是否有办法反转规则的含义,以便仅在存在特定目标时才执行规则

Mad*_*ist 6

怎么样:

target = $(wildcard somefile)

$(target): ; @echo build $@

.PHONY: $(target)
Run Code Online (Sandbox Code Playgroud)