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

GNU Make rule that executes only if target exists?

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

当需要打包时,我想 sync 挂载的文件,umount 它,然后对底层文件做一些事情。有没有办法反转规则的意义,以便它仅在特定目标 is 存在时执行?

怎么样:

target = $(wildcard somefile)

$(target): ; @echo build $@

.PHONY: $(target)