mik*_*ang 2 c++ makefile header
我在include/c ++文件夹中有一个*.H c ++标题,但即使我修改了这些文件,make也没有重新制作,当我修改这些文件时,我可以修改我的Makefile以重新制作吗?
如果您正在使用GNU make和GCC,并为每个源构建单独的对象(而不是直接从所有源构建程序),则可以自动生成必要的依赖项.添加以下编译器的命令行参数:
-MD -MP
Run Code Online (Sandbox Code Playgroud)
-MD将.d在每个对象旁边生成一个文件,其中包含指定所依赖的所有头的make规则.如果您不希望这些-MMD标题发生变化,您可以使用它来排除系统标题(包括<>而不是"").-MP将生成虚拟规则,以确保在删除任何标头时重建目标.
然后包括.dmakefile中的所有文件,使用-include它们,如果它们丢失则不是错误.我通过转换目标文件列表来做到这一点:
-include $(all_objs:.o=.d)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2505 次 |
| 最近记录: |