diff --git a/ya-build b/ya-build index 6be745d..077fcc8 100755 --- a/ya-build +++ b/ya-build @@ -233,6 +233,19 @@ class AliasTarget < Target end end +class CopyTarget < Target + def initialize(dest, src) + super(dest, [src]) + end + + protected def dump_rules_impl(buf) + end + + def mode() + "COPY" + end +end + class Configurator attr_reader :root_src, :root_build, :config, :all @@ -471,6 +484,11 @@ EOF return_target(trg, &blk) end + def target_copy(dest:, src:, &blk) + trg = CopyTarget.new(dest, src) + return_target(trg, &blk) + end + def target_c(output_file:, mode:, root_dir: nil, file: nil, objs: nil, flags: nil, cc: nil, &blk) if (mode == "compile") == file.nil? raise "file must be provided only for compile"