我认为这是一个多次被问到的问题,但我找不到正确的方法.
我有以下结构:
project/
project/Makefile
project/code
project/code/*.cc
project/code/Makefile
Run Code Online (Sandbox Code Playgroud)
当我在"项目/代码"目录中并调用"make project_code"时,我的代码正在正确编译.
我想这样做,当我在"项目/",只是呼吁"让project_code",仿佛我是在"项目/代码".
生成文件"项目/ Makefile文件"将包含其他的规则(如"安装")和一些规则来编译,就好像我是在"项目/代码".为此,我请求你的帮助......谢谢.
Jus*_*ini 81
最简单的方法是:
CODE_DIR = code
.PHONY: project_code
project_code:
$(MAKE) -C $(CODE_DIR)
Run Code Online (Sandbox Code Playgroud)
该.PHONY规则意味着project_code不是需要构建的文件,并且该-C标志指示目录中的更改(相当于cd code在调用之前运行make).您可以使用相同的方法调用codeMakefile中的其他目标.
例如:
clean:
$(MAKE) -C $(CODE_DIR) clean
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36034 次 |
| 最近记录: |