在编译源文件之前,有条件地在Makefile中运行bash脚本

在编译源文件之前,有条件地在Makefile中运行bash脚本,makefile,Makefile,我的Makefile如下所示 BASH_SCRIPT := xyz.sh SOURCE_DIR = \ src .PHONY: all all: $(SOURCE_DIR) .PHONY: $(SOURCE_DIR) $(SOURCE_DIR): @${BASH_SCRIPT} @$(MAKE) 现在,如果我只想在另一个目录中的文件“source_dir2”发生更改时有条件地运行bash脚本,我该怎么做?有什么想法吗?等等。。。您希望这

我的Makefile如下所示

BASH_SCRIPT := xyz.sh

SOURCE_DIR = \
        src

.PHONY: all
all: $(SOURCE_DIR)

.PHONY: $(SOURCE_DIR)
$(SOURCE_DIR):
        @${BASH_SCRIPT} 
        @$(MAKE) 

现在,如果我只想在另一个目录中的文件“source_dir2”发生更改时有条件地运行bash脚本,我该怎么做?有什么想法吗?

等等。。。您希望这个makefile做什么?为什么规则调用递归Make?这不是一个正确的Makefile。但目标是编译目录中的一组源文件,在此之前,根据另一个目录中的文件是否更改,有条件地运行脚本。从何时开始更改?Make比较两个文件的修改时间。自上次编译以来已更改。我的目标是,如果在上一次编译后文件发生更改,则在Makefile中有条件地运行脚本。