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.
waf/playground/track_files_timestamps/wscript

44 lines
902 B
Python

#! /usr/bin/env python
# encoding: utf-8
# Thomas Nagy, 2015 (ita)
VERSION = '0.0.1'
APPNAME = 'track_output_files'
top = '.'
import os
from waflib import Logs, Options
def options(opt):
opt.load('compiler_c')
opt.load('build_file_timestamp')
def configure(conf):
conf.load('compiler_c')
test_lib = False
def play_test(ctx):
if ctx.cmd != 'build':
return
global test_lib
if not test_lib:
# schedule one more build
test_lib = True
Options.commands.append('change_the_lib')
Options.commands.append(ctx.cmd)
def change_the_lib(ctx):
lst = ctx.path.ant_glob('build/*stlib1.*')
if lst:
os.utime(lst[0].abspath(), None)
Logs.pprint('YELLOW', '-> Touch %r' % lst[0].abspath())
Logs.pprint('YELLOW', '-> Expect a rebuild of dependent files')
def build(bld):
bld.stlib(source='foo.c', target='stlib1')
bld.program(source='main.c', target='app', use='stlib1')
play_test(bld)