编译多个模块
一个项目有多个模块,它们之间有依赖关系,怎么写一个Makefile 才能把这些模块的符号表导出到一个Module.symvers 文件里,写了很久,就是没搞出来。现在的办法是根据依赖关系去拷指定的Module.symvers 文件,感觉不是很方便,如果有的模块依赖多个其他的模块,经常就会出错,如果能把所有的符号表导出到一个或是所有模块的Module.symvers 文件里就好了。不知道可不可行,请高手指点
------解决方案--------------------源文件数目多吗
不多的话,全量编译得了呵
------解决方案--------------------编译成库,用到的库链进来。
------解决方案--------------------大型的软件都是多个Makefile,分层来处理问题。。。。。一个就全解决的似乎很少见。
------解决方案--------------------怎么没有人说autotools automake之类的东西来生成makefile~
------解决方案--------------------测试的例子,输出符号表到map文件
gcc -o mtest -I ./ main.cpp -L . -ltest -lstdc++ -Wl,-Map,aa.map
gcc -o hello hello.c -Wl,-Map,test.map
------解决方案--------------------链接即可:
CFLAGS += -I/你的源代码目录
LDFLAGS += -L/你的.so/.a库目录.
------解决方案--------------------你不就是想把所有的符号表导出到一个文件中吗?为什么一定要在MAKEFILE上做文章呢?、
换个思路想想,其实只需要编译完成后,把生成的符号表文件合并到一个统一的符号表文件中就行了。合并文件应该比较简单吧,随便找个脚本工具就能轻松搞定了