用于构建用C ++开发的动态库的Template-Makefile(Linux)

时间:2012-02-28 09:16:22

标签: c++ templates makefile dynamic-library

我正在寻找一个好的Makefile模板,用于在Linux上创建动态可加载库。 动态库是用C ++开发的。我只想在Makefile中指定库名及其源文件(.cc)。此外,我希望能够为构建过程指定目录(例如./build)。构建之后,动态库应位于另一个目录(例如./libs)中,也在Makefile中指定为变量。

任何提示?

提前致谢&最好的祝福! 纳斯

1 个答案:

答案 0 :(得分:1)

我的scons模板用于小型和测试项目(源代码和包含在src目录中,构建目录中的对象文件,libs目录中的结果库):

env = Evironment()

env.Append(CPPPATH = ['#src']) # customize your additional included path
#env.Append(LIBPATH = ['/my/path']) # customize your additional lib path
#env.Append(LIBS = ['foo', 'bar']) # customize your additional libs to link

sources = Glob('src/*.cpp') # Get sources by mask from src dir

VariantDir('build', 'src')
env.SharedLibrary('#libs/mylib', sources)