#! /usr/bin/env python # encoding: utf-8 def options(opt): opt.load('compiler_c') def configure(conf): conf.load('compiler_c') def build(bld): # the file precious.c is updated in the source directory # the actual application is produced in the build directory node = bld.path.find_resource('precious.c') def fun(task): import random val = random.randint(0, 222111000) task.outputs[0].write('#include \nint main(){ printf("%%d", %d); return 0;}' % val) bld( #rule = '''echo -e "#include \\nint main(){ printf(\\"%%d\\", $$RANDOM); return 0;}" > ${TGT}''', rule = fun, target = node, always = True, update_outputs = True) bld.program( source = 'precious.c', target = 'app')