mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
44 lines
989 B
Python
44 lines
989 B
Python
from build.ab import Rule, normalrule, Target, filenameof, Targets
|
|
from os.path import basename
|
|
|
|
|
|
@Rule
|
|
def objectify(self, name, src: Target, symbol):
|
|
normalrule(
|
|
replaces=self,
|
|
ins=["build/_objectify.py", src],
|
|
outs=[basename(filenameof(src)) + ".h"],
|
|
commands=["$(PYTHON) {ins[0]} {ins[1]} " + symbol + " > {outs}"],
|
|
label="OBJECTIFY",
|
|
)
|
|
|
|
|
|
@Rule
|
|
def test(
|
|
self,
|
|
name,
|
|
command: Target = None,
|
|
commands=None,
|
|
ins: Targets = [],
|
|
deps: Targets = [],
|
|
label="TEST",
|
|
):
|
|
if command:
|
|
normalrule(
|
|
replaces=self,
|
|
ins=[command],
|
|
outs=["sentinel"],
|
|
commands=["{ins[0]}", "touch {outs}"],
|
|
deps=deps,
|
|
label=label,
|
|
)
|
|
else:
|
|
normalrule(
|
|
replaces=self,
|
|
ins=ins,
|
|
outs=["sentinel"],
|
|
commands=commands + ["touch {outs}"],
|
|
deps=deps,
|
|
label=label,
|
|
)
|