我正在开发一个用C / Asm编写的复杂项目,用于在ADI DSP上运行的嵌入式目标。工具链接近gcc,但它们有很多不同之处。此外,我使用很多自动生成脚本使用Jinja2从数据库中提取的数据生成头文件。我也有很多编译器标志。
我目前从头开始编写Makefile。它大约有400行,效果很好。我自动发现目录中的源并保留所有依赖项即
a.tmpl --->jinja-->a.c--->a.o
^
a.yaml ------'
我想知道Cmake或Automake等工具在我的案例中是否有用。换句话说,我可以使用这些工具来简化Makefile的可读性吗?
答案 0 :(得分:1)
CMake与生成的源完美配合。只需添加适当的自定义命令:
add_custom_command(OUTPUT a.c
COMMAND jinja <args>
DEPENDS a.yaml)
add_executable(a a.c)