在我们的一个项目中,我需要使用waf构建一个库。该库有多个步骤,比如它构建二进制文件,然后执行二进制文件生成更多文件,这些文件是……
build/${build_target}/${your_binary} - 除非你覆盖一些默认值
build/${build_target}/${your_binary}
的 更新#1 强>
一个应该让你继续前进的减少的东西,特别是构建目标的派生,也一定要检查 waf书 其中包括很多例子。
def configure(ctx): ctx.load(...) ctx.env.appname = APPNAME ctx.env.version = VERSION ctx.define(...) ctx.check_cc(...) ctx.setenv('debug', env=ctx.env.derive()) ctx.env.CFLAGS = ['-ggdb', '-Wall'] ctx.define('DEBUG',1) ctx.setenv('release', env=ctx.env.derive()) ctx.env.CFLAGS = ['-O2', '-Wall'] ctx.define('RELEASE',1) def build(bld): ### subdirs :) under build are usually related to build variant or command print (">>>>> "+bld.cmd) print (">>>>> "+bld.variant) bin = bld.program(...) from waflib.Build import BuildContext class release(BuildContext): cmd = 'release' variant = 'release' class debug(BuildContext): cmd = 'debug' variant = 'debug'