diff options
| author | Fuwn <[email protected]> | 2022-05-22 04:21:33 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-05-22 04:21:33 -0700 |
| commit | 16cb282ad266674de090cc5c6439944e242074c5 (patch) | |
| tree | e067967f45c880053fe3063642f0167689c32ddf /cobol/internal/rules.bzl | |
| download | rules_cobol-main.tar.xz rules_cobol-main.zip | |
Diffstat (limited to 'cobol/internal/rules.bzl')
| -rw-r--r-- | cobol/internal/rules.bzl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/cobol/internal/rules.bzl b/cobol/internal/rules.bzl new file mode 100644 index 0000000..8dac747 --- /dev/null +++ b/cobol/internal/rules.bzl @@ -0,0 +1,30 @@ +"Rules for building COBOL programs" + +load(":actions.bzl", "cobol_compile_executable") + +def _cobol_binary_impl(ctx): + prefix = ctx.label.name + "%/" + executable = ctx.actions.declare_file(prefix + ctx.label.name) + + cobol_compile_executable( + ctx, + srcs = ctx.files.srcs, + out = executable, + ) + + return [DefaultInfo( + files = depset([executable]), + executable = executable, + )] + +cobol_binary = rule( + _cobol_binary_impl, + attrs = { + "srcs": attr.label_list( + allow_files = True, + doc = "The COBOL source files to compile for this binary", + ), + }, + doc = "Builds an executable program from COBOL source code", + executable = True, +) |