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
然后它将首先执行构建
目标的配方(假设它不是最新的),然后它将执行执行
目标的配方。完美,我得到了它。我正在稳定目标优先级,因此我无法在另一个目标执行过程中调用它们!谢谢