boltbuild 0.1.0

BoltBuild is a programmable build system.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
---@type Context
local context = ...

context:dependency_driver('c', 'green', '${CC} ${CFLAGS} ${C_SYSTEM_INCLUDE_ST:SYSTEM_INCLUDES} ${C_INCLUDE_ST:INCLUDES} ${C_DEFINE_ST:DEFINES} ${C_SRC_FLAG:SRC} ${C_TGT_F:TGT[0]}')

context:load_tool('internal/module_core')
BoltModule.register_extension('c', function(generator, node, path)
    local out_node = generator:make_build_node(node, path)
    local task = generator:declare_task('c', { node }, { out_node })
    table.insert(generator.compiled_tasks, task)
    table.insert(generator.objects, out_node)
end)