# build/build_targets/main.py from .base import BuildTarget from pathlib import Path from ..utils import mkdir class MainBuild(BuildTarget): def sources(self): return [s for s in self.config.SRC_DIR.glob("*.c") if s.name not in ["pico_main.c"]] def output(self): return self.config.TARGET def build(self): mkdir(self.config.OBJ_DIR) compiler = self.platform.compiler() objects = [] for s in self.sources(): obj = self.config.OBJ_DIR / (s.stem + ".o") deps = self.config.OBJ_DIR / (s.stem + ".d") flags = self.platform.cflags(test=False) extra = [f'-DGIT_COMMIT_HASH="{self.utils.git_commit_hash()}"'] compiler.compile(s, obj, flags, extra_defines=extra, deps_out=deps) objects.append(obj) mkdir(self.config.BIN_DIR) compiler.link(objects, self.output(), libs=["-lm"])