Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个相当大的由 autotools 驱动的项目,它位于一个目录树中,该目录树由许多带有子目录的目录组成。它有一个执行大量自动化测试的目标check(在每个子目录以及主目录中)。check目标是递归构建的。
check
并行构建和测试(通过-jmake 选项)适用于大多数目录。然而,有一个目录包含在并行执行时不起作用的测试(时序敏感性),但在串行运行时通过。
-j
问题是:有没有办法强制 makecheck在这个子目录中串行构建目标,同时并行构建其他所有内容?
添加到您的Makefile:
Makefile
.NOTPARALLEL:
在此处查看 GNU make 的文档。
如果我理解正确,那么当您运行构建check目标的递归 make 时,您可以-j1专门传递,以确保它连续运行:
-j1
check: ; $(MAKE) -j1 ...