如何在我的顶层Makefile.am中添加单元前测试步骤



在进入任何子目录之前,我应该向我的顶级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)"

最新更新