在一个项目中,有几个模块需要编译,比如是 project1, project2, project3,project4,project5。
需要编译他们的先后顺序也是 1,2,3,4,5。 现在的问题是,直接执行 make 是没有问题的,可以正常执行。
如果想用并发执行 make -j4 该怎么修改这个 Makefile 呢?如果不修改直接使用 make -j4 来编译的话,就无法保证是按照编译顺序来编译的了,最终导致编译失败。
1
billlee 2018-09-10 22:31:05 +08:00
让 project2 依赖 project1, project3 依赖 project2...
|
2
scriptB0y 2018-09-10 22:31:54 +08:00
额 Makefile 本身就是解决你这个问题的…… 我觉得你要看一下 makefile 的文档了。
这个问题就好像在问,请问怎么用 git 才能支持版本控制啊…… |
3
zwh2698 2018-09-10 22:51:15 +08:00 via Android
Cmake
|
4
z0z OP |
5
iwtbauh 2018-09-11 10:39:45 +08:00 via Android
所以每个 project 里面是不是多 job 工作的呢
可以编译时 top 看一下有几个编译器进程 |
7
franklinyu 2018-10-03 10:18:12 +08:00
如果你的五個 project 本來就必須嚴格 12345 這樣,本來就沒辦法並行啊大哥?
make -j4 改善的是「 3 依賴於 1 和 2,那麼 1 和 2 可以並行」的情況。 |