18 lines
622 B
Ruby
18 lines
622 B
Ruby
build do
|
|
Environment.new(echo: :command) do |env|
|
|
env.append('CPPPATH' => Rscons.glob('src/**'))
|
|
env.add_build_hook do |build_op|
|
|
if build_op[:builder].name == "Object" && build_op[:sources].first =~ %r{one\.c}
|
|
build_op[:vars]["CFLAGS"] << "-O1"
|
|
build_op[:sources] = ['src/two/two.c']
|
|
elsif build_op[:builder].name == "Object" && build_op[:target] =~ %r{two\.o}
|
|
new_vars = build_op[:vars].clone
|
|
new_vars["CFLAGS"] << "-O2"
|
|
build_op[:vars] = new_vars
|
|
end
|
|
end
|
|
env.Object('one.o', 'src/one/one.c')
|
|
env.Object('two.o', 'src/two/two.c')
|
|
end
|
|
end
|