在进入任何子目录之前,我应该向我的顶级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中的变量或目标添加一个命令,这将导致该命令在make check
运行开始时运行,然后再输入任何子目录并进行任何复制。
只需使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)"