Makefile 整理心得。关于include *.mk
程序员文章站
2024-03-20 21:09:52
...
最近在整理之前项目写的Makfile文件,项目在svn上管理。 项目文件目录如下:
├── Makefile
├── src
│ ├── application
│ │ └── Makefile
│ ├── drivers
│ │ └── Makefile
│ ├── gui
│ │ └── Makefile
│ ├── libs
│ ├── Makefile
│ └── net
│ └── Makefile
└── update
在顶层Makefile目录下make编译。顶层Makefile包含编译器路径及其他相关文件路径,就导致其他同时在svn上checkout下来后,
需要改Makefile中的相关路径,这样再提交会造成每次update都需要修改。
目前想法是将路径相关变量放在path.mk中,Makefile用include包含进去,而path.mk不提交,保留在本地。
但是现在问题出现了,执行make后怎么都不能找到path里的路径。
在查阅大量makefile语法,关于include使用的方式都无果。于是写了个小的测试makefile。内容如下:
file:Makefile:
include path.mk
all:
@echo test
file:path.mk
$(warning )
其中path.mk还是从之前调试不通过的拷贝过来修改的。结果也还是不能输出想要的结果。然后尝试从别的开源项目拷贝一个.mk文件过来使用,发现完全正常。
最后用notepad++打开2个文件,对比发现原来是文件编码问题。。。不可的用的,编码格式是Macintosh,而可以用的是unix和windows。
至此问题解决。