|
在一个工程中,我一般用%.o:%.c的模式规则生成.o文件,这样一来导致makefile人为.c文件只是依赖响应的.c文件。而实际上,.c文件一般还依赖它所包括大一些头文件。所以这样写的话,当只有其所包含大头文件发生了变化,这个.o文件是不会被重新生成的。
gcc中有-MM选项可以输出文件的依赖关系到一个文件中,然后把这个文件include进来作为.o文件的生成规则。这样的话,头文件改变相应的.o文件不被生成这个错误是被改掉了,但导致的问题是编译一个工程要分两步执行,先make dep生成依赖关系,然后再make才不会出错。
这个在开发过程中很不方便。大家有没有更好的办法? |
|