mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Refactor a lot of the proto stuff.
This commit is contained in:
@@ -2,7 +2,7 @@ from build.c import cxxlibrary
|
||||
from build.protobuf import proto, protocc
|
||||
|
||||
proto(
|
||||
name="arch_proto",
|
||||
name="proto",
|
||||
srcs=[
|
||||
"./aeslanier/aeslanier.proto",
|
||||
"./agat/agat.proto",
|
||||
@@ -24,4 +24,7 @@ proto(
|
||||
"./victor9k/victor9k.proto",
|
||||
"./zilogmcz/zilogmcz.proto",
|
||||
],
|
||||
deps=["lib+common_proto"],
|
||||
)
|
||||
|
||||
protocc(name="proto_lib", srcs=[".+proto"], deps=["lib+common_proto_lib"])
|
||||
|
||||
1
build.py
1
build.py
@@ -199,6 +199,7 @@ cxxlibrary(
|
||||
"dep/stb",
|
||||
"lib+config_proto_lib",
|
||||
"lib/core",
|
||||
"lib/fluxsource+proto_lib",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -148,6 +148,7 @@ class Target:
|
||||
self.dir = join("$(OBJ)", name)
|
||||
self.ins = []
|
||||
self.outs = []
|
||||
self.deps = []
|
||||
self.materialised = False
|
||||
self.args = {}
|
||||
|
||||
|
||||
102
build/c.py
102
build/c.py
@@ -7,12 +7,7 @@ from build.ab import (
|
||||
flatten,
|
||||
simplerule,
|
||||
)
|
||||
from build.utils import (
|
||||
filenamesmatchingof,
|
||||
stripext,
|
||||
targetswithtraitsof,
|
||||
collectattrs,
|
||||
)
|
||||
from build.utils import filenamesmatchingof, stripext, collectattrs
|
||||
from os.path import *
|
||||
|
||||
|
||||
@@ -39,12 +34,17 @@ class HostToolchain:
|
||||
def cfileimpl(self, name, srcs, deps, suffix, commands, label, kind, cflags):
|
||||
outleaf = "=" + stripext(basename(filenameof(srcs[0]))) + suffix
|
||||
|
||||
cflags = collectattrs(targets=deps, name="caller_cflags", initial=cflags)
|
||||
hdr_deps = set()
|
||||
for d in deps:
|
||||
hdr_deps.update(d.args.get("cheader_deps", {d}))
|
||||
cflags = collectattrs(
|
||||
targets=hdr_deps, name="caller_cflags", initial=cflags
|
||||
)
|
||||
|
||||
t = simplerule(
|
||||
replaces=self,
|
||||
ins=srcs,
|
||||
deps=deps,
|
||||
deps=hdr_deps,
|
||||
outs=[outleaf],
|
||||
label=label,
|
||||
commands=commands,
|
||||
@@ -93,11 +93,9 @@ def cxxfile(
|
||||
|
||||
|
||||
def findsources(name, srcs, deps, cflags, toolchain, filerule, cwd):
|
||||
headers = filenamesmatchingof(srcs, "*.h")
|
||||
cflags = cflags + ["-I" + dirname(h) for h in headers]
|
||||
|
||||
for d in deps:
|
||||
headers += d.args.get("cheaders", [d])
|
||||
for f in filenamesof(srcs):
|
||||
if f.endswith(".h") or f.endswith(".hh"):
|
||||
cflags = cflags + [f"-I{dirname(f)}"]
|
||||
|
||||
objs = []
|
||||
for s in flatten(srcs):
|
||||
@@ -105,8 +103,8 @@ def findsources(name, srcs, deps, cflags, toolchain, filerule, cwd):
|
||||
filerule(
|
||||
name=join(name, f.removeprefix("$(OBJ)/")),
|
||||
srcs=[f],
|
||||
deps=headers,
|
||||
cflags=cflags,
|
||||
deps=deps,
|
||||
cflags=sorted(set(cflags)),
|
||||
toolchain=toolchain,
|
||||
cwd=cwd,
|
||||
)
|
||||
@@ -127,18 +125,10 @@ def findsources(name, srcs, deps, cflags, toolchain, filerule, cwd):
|
||||
def cheaders(
|
||||
self,
|
||||
name,
|
||||
hdrs: TargetsMap = None,
|
||||
hdrs: TargetsMap = {},
|
||||
caller_cflags=[],
|
||||
deps: Targets = None,
|
||||
deps: Targets = [],
|
||||
):
|
||||
hdr_deps = []
|
||||
for d in deps:
|
||||
hdr_deps += d.args.get("cheaders", [d])
|
||||
|
||||
hdr_caller_cflags = collectattrs(
|
||||
targets=hdr_deps, name="caller_cflags", initial=caller_cflags
|
||||
)
|
||||
|
||||
cs = []
|
||||
ins = hdrs.values()
|
||||
outs = []
|
||||
@@ -153,14 +143,24 @@ def cheaders(
|
||||
outs += ["=" + dest]
|
||||
i = i + 1
|
||||
|
||||
r = simplerule(
|
||||
hdr_deps = {self}
|
||||
lib_deps = set()
|
||||
for d in deps:
|
||||
hdr_deps.update(d.args.get("cheader_deps", {d}))
|
||||
lib_deps.update(d.args.get("clibrary_deps", {d}))
|
||||
|
||||
simplerule(
|
||||
replaces=self,
|
||||
ins=ins,
|
||||
outs=outs,
|
||||
deps=deps,
|
||||
commands=cs,
|
||||
deps=hdr_deps,
|
||||
label="CHEADERS",
|
||||
args={"caller_cflags": hdr_caller_cflags + ["-I" + self.dir]},
|
||||
args={
|
||||
"caller_cflags": caller_cflags + [f"-I{self.dir}"],
|
||||
"cheader_deps": hdr_deps,
|
||||
"clibrary_deps": lib_deps,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -184,7 +184,6 @@ def libraryimpl(
|
||||
cheaders(
|
||||
replaces=self,
|
||||
hdrs=hdrs,
|
||||
deps=deps,
|
||||
caller_cflags=caller_cflags,
|
||||
)
|
||||
return
|
||||
@@ -192,7 +191,6 @@ def libraryimpl(
|
||||
hr = cheaders(
|
||||
name=self.localname + "_hdrs",
|
||||
hdrs=hdrs,
|
||||
deps=deps,
|
||||
caller_cflags=caller_cflags,
|
||||
)
|
||||
hr.materialise()
|
||||
@@ -208,6 +206,12 @@ def libraryimpl(
|
||||
self.cwd,
|
||||
)
|
||||
|
||||
hdr_deps = {hr} if hr else set()
|
||||
lib_deps = {self}
|
||||
for d in deps:
|
||||
hdr_deps.update(d.args.get("cheader_deps", {d}))
|
||||
lib_deps.update(d.args.get("clibrary_deps", {d}))
|
||||
|
||||
simplerule(
|
||||
replaces=self,
|
||||
ins=objs,
|
||||
@@ -215,18 +219,12 @@ def libraryimpl(
|
||||
label=label,
|
||||
commands=commands,
|
||||
args={
|
||||
"caller_ldflags": collectattrs(
|
||||
targets=deps, name="caller_ldflags", initial=caller_ldflags
|
||||
),
|
||||
}
|
||||
| (
|
||||
{"cheaders": [hr], "caller_cflags": hr.args["caller_cflags"]}
|
||||
if hr
|
||||
else {}
|
||||
),
|
||||
"caller_ldflags": caller_ldflags,
|
||||
"cheader_deps": hdr_deps,
|
||||
"clibrary_deps": lib_deps,
|
||||
},
|
||||
traits={"cheaders"},
|
||||
)
|
||||
self.outs = self.outs + (hr.outs if hr else [])
|
||||
|
||||
|
||||
@Rule
|
||||
@@ -314,17 +312,25 @@ def programimpl(
|
||||
label,
|
||||
filerule,
|
||||
kind,
|
||||
libkind,
|
||||
):
|
||||
ars = filenamesmatchingof(deps, "*.a")
|
||||
|
||||
cfiles = findsources(
|
||||
self.localname, srcs, deps, cflags, toolchain, filerule, self.cwd
|
||||
)
|
||||
|
||||
lib_deps = set()
|
||||
for d in deps:
|
||||
lib_deps.update(d.args.get("clibrary_deps", {d}))
|
||||
libs = sorted(filenamesmatchingof(lib_deps, "*.a"))
|
||||
ldflags = collectattrs(
|
||||
targets=lib_deps, name="caller_ldflags", initial=ldflags
|
||||
)
|
||||
|
||||
simplerule(
|
||||
replaces=self,
|
||||
ins=cfiles + ars + ars,
|
||||
ins=cfiles + libs + libs,
|
||||
outs=[f"={self.localname}$(EXT)"],
|
||||
deps=deps,
|
||||
deps=lib_deps,
|
||||
label=toolchain.label + label,
|
||||
commands=commands,
|
||||
args={
|
||||
@@ -346,8 +352,6 @@ def cprogram(
|
||||
toolchain=Toolchain,
|
||||
commands=None,
|
||||
label="CLINK",
|
||||
cfilerule=cfile,
|
||||
cfilekind="cprogram",
|
||||
):
|
||||
if not commands:
|
||||
commands = toolchain.cprogram
|
||||
@@ -361,8 +365,9 @@ def cprogram(
|
||||
toolchain,
|
||||
commands,
|
||||
label,
|
||||
cfilerule,
|
||||
cfilekind,
|
||||
cfile,
|
||||
"cprogram",
|
||||
"clibrary",
|
||||
)
|
||||
|
||||
|
||||
@@ -392,4 +397,5 @@ def cxxprogram(
|
||||
label,
|
||||
cxxfile,
|
||||
"cxxprogram",
|
||||
"cxxlibrary",
|
||||
)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from build.ab import Rule, Targets, emit, simplerule, filenamesof
|
||||
from build.utils import filenamesmatchingof, collectattrs
|
||||
from types import SimpleNamespace
|
||||
from os.path import join
|
||||
from os.path import join, abspath, dirname
|
||||
import build.pkg # to get the protobuf package check
|
||||
|
||||
emit(
|
||||
@@ -14,18 +14,54 @@ endif
|
||||
)
|
||||
|
||||
|
||||
def _getprotodeps(deps):
|
||||
r = set()
|
||||
for d in deps:
|
||||
r.update(d.args.get("protodeps", {d}))
|
||||
return sorted(r)
|
||||
|
||||
|
||||
@Rule
|
||||
def proto(self, name, srcs: Targets = [], deps: Targets = []):
|
||||
protodeps = _getprotodeps(deps)
|
||||
descriptorlist = ":".join(
|
||||
[abspath(f) for f in filenamesmatchingof(protodeps, "*.descriptor")]
|
||||
)
|
||||
|
||||
dirs = sorted({"{dir}/" + dirname(f) for f in filenamesof(srcs)})
|
||||
simplerule(
|
||||
replaces=self,
|
||||
ins=srcs,
|
||||
outs=[f"={name}.descriptor"],
|
||||
deps=deps,
|
||||
commands=[
|
||||
"$(PROTOC) --include_source_info --descriptor_set_out={outs[0]} {ins}"
|
||||
],
|
||||
outs=[f"={self.localname}.descriptor"],
|
||||
deps=protodeps,
|
||||
commands=(
|
||||
["mkdir -p " + (" ".join(dirs))]
|
||||
+ [f"$(CP) {f} {{dir}}/{f}" for f in filenamesof(srcs)]
|
||||
+ [
|
||||
"cd {dir} && "
|
||||
+ (
|
||||
" ".join(
|
||||
[
|
||||
"$(PROTOC)",
|
||||
"--proto_path=.",
|
||||
"--include_source_info",
|
||||
f"--descriptor_set_out={self.localname}.descriptor",
|
||||
]
|
||||
+ (
|
||||
[f"--descriptor_set_in={descriptorlist}"]
|
||||
if descriptorlist
|
||||
else []
|
||||
)
|
||||
+ ["{ins}"]
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
label="PROTO",
|
||||
args={"protosrcs": filenamesof(srcs)},
|
||||
args={
|
||||
"protosrcs": filenamesof(srcs),
|
||||
"protodeps": set(protodeps) | {self},
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -40,16 +76,33 @@ def protocc(self, name, srcs: Targets = [], deps: Targets = []):
|
||||
cc = f.replace(".proto", ".pb.cc")
|
||||
h = f.replace(".proto", ".pb.h")
|
||||
protos += [f]
|
||||
srcs += [f]
|
||||
outs += ["=" + cc, "=" + h]
|
||||
|
||||
protodeps = _getprotodeps(deps + srcs)
|
||||
descriptorlist = ":".join(
|
||||
[abspath(f) for f in filenamesmatchingof(protodeps, "*.descriptor")]
|
||||
)
|
||||
|
||||
r = simplerule(
|
||||
name=f"{self.localname}_srcs",
|
||||
cwd=self.cwd,
|
||||
ins=protos,
|
||||
ins=srcs,
|
||||
outs=outs,
|
||||
deps=deps,
|
||||
commands=["$(PROTOC) --cpp_out={dir} {ins}"],
|
||||
deps=protodeps,
|
||||
commands=[
|
||||
"cd {dir} && "
|
||||
+ (
|
||||
" ".join(
|
||||
[
|
||||
"$(PROTOC)",
|
||||
"--proto_path=.",
|
||||
"--cpp_out=.",
|
||||
f"--descriptor_set_in={descriptorlist}",
|
||||
]
|
||||
+ protos
|
||||
)
|
||||
)
|
||||
],
|
||||
label="PROTOCC",
|
||||
)
|
||||
|
||||
@@ -76,6 +129,10 @@ def protojava(self, name, srcs: Targets = [], deps: Targets = []):
|
||||
protos += [f]
|
||||
srcs += [f]
|
||||
|
||||
descriptorlist = ":".join(
|
||||
[abspath(f) for f in filenamesmatchingof(srcs + deps, "*.descriptor")]
|
||||
)
|
||||
|
||||
r = simplerule(
|
||||
name=f"{self.localname}_srcs",
|
||||
cwd=self.cwd,
|
||||
@@ -84,7 +141,18 @@ def protojava(self, name, srcs: Targets = [], deps: Targets = []):
|
||||
deps=deps,
|
||||
commands=[
|
||||
"mkdir -p {dir}/srcs",
|
||||
"$(PROTOC) --java_out={dir}/srcs {ins}",
|
||||
"cd {dir} && "
|
||||
+ (
|
||||
" ".join(
|
||||
[
|
||||
"$(PROTOC)",
|
||||
"--proto_path=.",
|
||||
"--java_out=.",
|
||||
f"--descriptor_set_in={descriptorlist}",
|
||||
]
|
||||
+ protos
|
||||
)
|
||||
),
|
||||
"$(JAR) cf {outs[0]} -C {dir}/srcs .",
|
||||
],
|
||||
traits={"srcjar"},
|
||||
|
||||
@@ -30,7 +30,7 @@ def collectattrs(*, targets, name, initial=[]):
|
||||
s = set(initial)
|
||||
for a in [t.args.get(name, []) for t in targets]:
|
||||
s.update(a)
|
||||
return sorted(list(s))
|
||||
return sorted(s)
|
||||
|
||||
|
||||
def itemsof(pattern, root=None, cwd=None):
|
||||
|
||||
53
lib/build.py
53
lib/build.py
@@ -1,28 +1,61 @@
|
||||
from build.c import cxxlibrary
|
||||
from build.protobuf import proto, protocc
|
||||
|
||||
|
||||
proto(name="common_proto", srcs=["./common.proto"])
|
||||
protocc(name="common_proto_lib", srcs=[".+common_proto"])
|
||||
|
||||
proto(
|
||||
name="layout_proto",
|
||||
srcs=["./layout.proto"],
|
||||
deps=[".+common_proto", "+fl2_proto"],
|
||||
)
|
||||
protocc(
|
||||
name="layout_proto_lib",
|
||||
srcs=[".+layout_proto"],
|
||||
deps=[".+common_proto_lib", "+fl2_proto_lib"],
|
||||
)
|
||||
|
||||
proto(
|
||||
name="drive_proto",
|
||||
srcs=["./drive.proto"],
|
||||
deps=[".+common_proto", "+fl2_proto", ".+layout_proto"],
|
||||
)
|
||||
protocc(
|
||||
name="drive_proto_lib",
|
||||
srcs=[".+drive_proto"],
|
||||
deps=[".+common_proto_lib", "+fl2_proto_lib", ".+layout_proto_lib"],
|
||||
)
|
||||
|
||||
proto(
|
||||
name="config_proto",
|
||||
srcs=[
|
||||
"./config.proto",
|
||||
"./layout.proto",
|
||||
"./drive.proto",
|
||||
"./decoders/decoders.proto",
|
||||
"./encoders/encoders.proto",
|
||||
"./fluxsink/fluxsink.proto",
|
||||
"./fluxsource/fluxsource.proto",
|
||||
"./imagereader/imagereader.proto",
|
||||
"./imagewriter/imagewriter.proto",
|
||||
"./usb/usb.proto",
|
||||
"./vfs/vfs.proto",
|
||||
],
|
||||
deps=[".+common_proto", "+fl2_proto"],
|
||||
deps=[
|
||||
".+common_proto",
|
||||
".+layout_proto",
|
||||
".+drive_proto",
|
||||
"+fl2_proto",
|
||||
"lib/fluxsource+proto",
|
||||
"lib/fluxsink+proto",
|
||||
"lib/vfs+proto",
|
||||
"lib/usb+proto",
|
||||
"lib/encoders+proto",
|
||||
],
|
||||
)
|
||||
|
||||
protocc(
|
||||
name="config_proto_lib",
|
||||
srcs=[".+common_proto", ".+config_proto", "arch+arch_proto", "+fl2_proto"]
|
||||
srcs=[".+common_proto", ".+config_proto", "arch+proto", "+fl2_proto"],
|
||||
deps=[
|
||||
"lib/fluxsource+proto_lib",
|
||||
"lib/fluxsink+proto_lib",
|
||||
"lib/vfs+proto_lib",
|
||||
"lib/usb+proto_lib",
|
||||
"lib/encoders+proto_lib",
|
||||
"lib+drive_proto_lib",
|
||||
],
|
||||
)
|
||||
|
||||
13
lib/encoders/build.py
Normal file
13
lib/encoders/build.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from build.protobuf import proto, protocc
|
||||
|
||||
|
||||
proto(
|
||||
name="proto",
|
||||
srcs=["./encoders.proto"],
|
||||
deps=["lib+common_proto", "arch+proto"],
|
||||
)
|
||||
protocc(
|
||||
name="proto_lib",
|
||||
srcs=[".+proto"],
|
||||
deps=["lib+common_proto_lib", "arch+proto_lib"],
|
||||
)
|
||||
5
lib/fluxsink/build.py
Normal file
5
lib/fluxsink/build.py
Normal file
@@ -0,0 +1,5 @@
|
||||
from build.protobuf import proto, protocc
|
||||
|
||||
proto(name="proto", srcs=["./fluxsink.proto"], deps=["lib+common_proto"])
|
||||
|
||||
protocc(name="proto_lib", srcs=[".+proto"], deps=["lib+common_proto_lib"])
|
||||
9
lib/fluxsource/build.py
Normal file
9
lib/fluxsource/build.py
Normal file
@@ -0,0 +1,9 @@
|
||||
from build.protobuf import proto, protocc
|
||||
|
||||
proto(name="proto", srcs=["./fluxsource.proto"], deps=["lib+common_proto"])
|
||||
|
||||
protocc(
|
||||
name="proto_lib",
|
||||
srcs=[".+proto"],
|
||||
deps=["lib+common_proto", "lib+common_proto_lib"],
|
||||
)
|
||||
0
lib/imagereader/build.py
Normal file
0
lib/imagereader/build.py
Normal file
@@ -1,4 +1,21 @@
|
||||
from build.c import cxxlibrary
|
||||
from build.protobuf import proto, protocc
|
||||
|
||||
proto(
|
||||
name="proto",
|
||||
srcs=["./vfs.proto"],
|
||||
deps=["lib+common_proto", "lib+layout_proto", "+fl2_proto"],
|
||||
)
|
||||
|
||||
protocc(
|
||||
name="proto_lib",
|
||||
srcs=[".+proto"],
|
||||
deps=[
|
||||
"lib+common_proto_lib",
|
||||
"lib+layout_proto_lib",
|
||||
"+fl2_proto_lib",
|
||||
],
|
||||
)
|
||||
|
||||
cxxlibrary(
|
||||
name="vfs",
|
||||
@@ -31,5 +48,6 @@ cxxlibrary(
|
||||
deps=[
|
||||
"+lib",
|
||||
"+fmt_lib",
|
||||
".+proto_lib",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -13,6 +13,8 @@ def protoencode_single(self, name, srcs: Targets, proto, symbol):
|
||||
cflags=["-DPROTO=" + proto],
|
||||
deps=[
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"lib/fluxsink+proto_lib",
|
||||
"tests+test_proto_lib",
|
||||
"+protobuf_lib",
|
||||
"+fmt_lib",
|
||||
@@ -61,6 +63,8 @@ cxxprogram(
|
||||
deps=[
|
||||
"src/formats",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"lib/fluxsink+proto_lib",
|
||||
"+lib",
|
||||
"+fmt_lib",
|
||||
"+protobuf_lib",
|
||||
@@ -73,6 +77,8 @@ cxxprogram(
|
||||
deps=[
|
||||
"src/formats",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"lib/fluxsink+proto_lib",
|
||||
"+lib",
|
||||
"+fmt_lib",
|
||||
"+protobuf_lib",
|
||||
|
||||
@@ -45,6 +45,7 @@ cxxprogram(
|
||||
"lib/core",
|
||||
"lib/vfs",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"src/formats",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -65,6 +65,7 @@ cxxprogram(
|
||||
"lib/core",
|
||||
"lib/vfs",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"src/formats",
|
||||
"src/gui/drivetypes",
|
||||
"+z_lib",
|
||||
|
||||
@@ -5,10 +5,7 @@ from build.utils import test
|
||||
from scripts.build import protoencode_single
|
||||
|
||||
|
||||
proto(
|
||||
name="test_proto",
|
||||
srcs=["./testproto.proto"],
|
||||
)
|
||||
proto(name="test_proto", srcs=["./testproto.proto"], deps=["lib+common_proto"])
|
||||
|
||||
protocc(
|
||||
name="test_proto_lib", srcs=[".+test_proto"], deps=["lib+config_proto_lib"]
|
||||
@@ -59,6 +56,7 @@ export(
|
||||
"+fmt_lib",
|
||||
"+lib",
|
||||
"lib/core",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"+protobuf_lib",
|
||||
"+protocol",
|
||||
"+z_lib",
|
||||
@@ -87,6 +85,7 @@ export(
|
||||
"+fmt_lib",
|
||||
"+lib",
|
||||
"lib/core",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"+protobuf_lib",
|
||||
"+protocol",
|
||||
"+z_lib",
|
||||
|
||||
@@ -8,14 +8,28 @@ if config.windows:
|
||||
cxxprogram(
|
||||
name="brother120tool",
|
||||
srcs=["./brother120tool.cc"],
|
||||
deps=["+lib", "lib/core", "lib+config_proto_lib", "+fmt_lib", "+z_lib"]
|
||||
deps=[
|
||||
"+lib",
|
||||
"lib/core",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"+fmt_lib",
|
||||
"+z_lib",
|
||||
]
|
||||
+ emu,
|
||||
)
|
||||
|
||||
cxxprogram(
|
||||
name="brother240tool",
|
||||
srcs=["./brother240tool.cc"],
|
||||
deps=["+lib", "lib/core", "lib+config_proto_lib", "+fmt_lib", "+z_lib"]
|
||||
deps=[
|
||||
"+lib",
|
||||
"lib/core",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"+fmt_lib",
|
||||
"+z_lib",
|
||||
]
|
||||
+ emu,
|
||||
)
|
||||
|
||||
@@ -32,6 +46,7 @@ cxxprogram(
|
||||
"+z_lib",
|
||||
"dep/libusbp",
|
||||
"lib+config_proto_lib",
|
||||
"lib/fluxsource+proto_lib",
|
||||
"src/formats",
|
||||
"lib/core",
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user