= Implementing CMT2 on top of Waf Principle: * every package is still packaged using the CMT style: * a `cmt` directory with its `requirements` file * the `requirements` files hold: * used packages * declarations of the constituents (libraries, programs, ...) * specific macro declarations * a `src` directory containing the sources * the Project still contains a `cmt` directory with its own `requirements` file * this `requirements` holds: * the list of used packages of the projects * generic macro definitions Only one generic `wscript` is needed for managing the whole project. {{{ import sys import os import cmt top, out = cmt.init () def options (ctx): cmt.options (ctx) def configure (ctx): cmt.configure (ctx) def build (ctx): cmt.build (ctx) }}} the build is launched using: {{{ > waf.py configure build }}}