You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
914 B
Python
39 lines
914 B
Python
#! /usr/bin/env python
|
|
|
|
"""
|
|
A build iterator similar to "waf step" but following the dependencies of input/output files
|
|
|
|
waf make --files=aa
|
|
waf clean make --files=cc
|
|
"""
|
|
|
|
top = '.'
|
|
out = 'build'
|
|
|
|
def options(opt):
|
|
opt.load('make')
|
|
|
|
def configure(conf):
|
|
conf.load('make')
|
|
|
|
def build(bld):
|
|
|
|
x = bld.path.make_node('wscript')
|
|
|
|
def xxx(**kw):
|
|
# this is just an alias, but aliases are convenient, use them!
|
|
if not 'rule' in kw:
|
|
kw['rule'] = 'cp ${SRC} ${TGT}'
|
|
return bld(**kw)
|
|
|
|
xxx(source=x, target=x.change_ext('.a'), name='a')
|
|
xxx(source=x.change_ext('.a'), target=x.change_ext('.aa'), name='aa')
|
|
|
|
xxx(source=x, target=x.change_ext('.b'), name='b')
|
|
xxx(source=x.change_ext('.b'), target=x.change_ext('.bb'), name='bb')
|
|
|
|
xxx(source=x, target=x.change_ext('.c'), name='c')
|
|
|
|
xxx(rule='cat ${SRC} > ${TGT}', source=[x.change_ext('.bb'), x.change_ext('.aa')], target=[x.change_ext('.cc')], name='cc')
|
|
|