Makefile don';找不到规则

Makefile don';找不到规则,makefile,build,jekyll,gnu-make,Makefile,Build,Jekyll,Gnu Make,我在一个项目中使用以下makefile: project = jekyll-template-repository e: execute execute: bundle build r: run run: jekyll serve -l -o -b /$(project) b: build build: clean jekyll

我在一个项目中使用以下
makefile

project = jekyll-template-repository

e:          execute
execute:
            bundle
            build


r:          run
run:
            jekyll serve -l -o -b /$(project)


b:          build
build:      clean
            jekyll build

c:          clean
clean:
            jekyll clean

当我运行
makeexecute
时,它会抛出错误
make:build:Command not found

我想它试图将其作为一个公共bash命令执行,但是我想调用我在文件中向前编写的
build
规则。当其他
规则不在另一个规则之后时,是否需要一些特殊语法来指向这些
规则

您不能在生成文件中“调用”规则。规则不是函数。您可以依赖于一个目标,在这种情况下,在该目标被视为最新之前,该目标将是最新的

事实上,规则的每个配方都是一个shell脚本。它从来没有列出过其他目标

你可以写:

execute: build

然后它将首先执行
构建
目标的配方(假设它不是最新的),然后它将执行
执行
目标的配方。

完美,我得到了它。我正在稳定目标优先级,因此我无法在另一个目标执行过程中调用它们!谢谢