Makefile make不解析目标名称的绝对路径

Makefile make不解析目标名称的绝对路径,makefile,gnu-make,Makefile,Gnu Make,我的Makefile中有一个简单的目标: file1: touch $@ 我可以使用:makefile1构建这个目标 如果我说make./file1'file1'是最新的,它也会构建 但是,如果我说:make$HOME/file1,那么它会告诉我: make:对“/home/jesaremi/file1”不做任何操作 无论我使用什么路径,都有办法获得一致的结果吗?您可以添加另一条规则: $(shell pwd)/%: % @: 这将允许file1规则适用于file1、./fi

我的Makefile中有一个简单的目标:

file1:
    touch $@
我可以使用:makefile1构建这个目标

如果我说make./file1'file1'是最新的,它也会构建

但是,如果我说:make$HOME/file1,那么它会告诉我:

make:对“/home/jesaremi/file1”不做任何操作


无论我使用什么路径,都有办法获得一致的结果吗?

您可以添加另一条规则:

$(shell pwd)/%: %
    @:
这将允许file1规则适用于file1、./file1、/home/jesaremi/path_to_cwd/file1、~jesaremi/path_to_cwd/file1和~/path_to_cwd/file1