我应该在我的顶级Makefile.am中添加什么来导致make check
在进入任何子目录之前运行自定义命令?
以下是一些背景信息:
当我们的make check
进程进入源代码树中的每个子目录时,它会构建该子目录的单元测试二进制文件,使用scp
将二进制文件复制到目标硬件板,并在目标使用ssh
。我们有比开发人员更多的开发人员,所以我们共享,目标平台只设置了一个用户ID,所以如果我们两个或多个人同时运行make check
,我们会互相攻击测试目标上的二进制文件。
我希望make check
为每个开发人员在目标上使用唯一的子目录,可能在目标唯一用户的主目录中。在make check
运行期间完成任何其他操作之前,我需要确保该子目录存在。
我希望我可以在ssh <board-ip> mkdir -p <unique-dirname-based-on-user>
的行中向我的顶级Makefile.am中的变量或目标添加一个命令,这将导致该命令在{{1}的开头运行在输入任何子目录并进行任何复制之前运行。
答案 0 :(得分:1)
只需使check-recursive
依赖于您要执行的目标。
例如将以下内容添加到您的Makefile.am
:
check-recursive: pre-check-recursive
.PHONY=pre-check-recursive
pre-check-recursive:
@echo "called before running check recursively (YOUR CODE HERE)"