我正在寻找一个好的Makefile模板,用于在Linux上创建动态可加载库。 动态库是用C ++开发的。我只想在Makefile中指定库名及其源文件(.cc)。此外,我希望能够为构建过程指定目录(例如./build)。构建之后,动态库应位于另一个目录(例如./libs)中,也在Makefile中指定为变量。
任何提示?
提前致谢&最好的祝福! 纳斯
答案 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)