const std = @import("std"); const Target = std.Target; const Build = std.Build; pub fn build(b: *Build) void { // Module const flipperzero = b.addModule("flipperzero", .{ .root_source_file = b.path("lib/flipperzero/flipperzero.zig"), }); // Configuration const optimize = b.standardOptimizeOption(.{}); const target_query = .{ .cpu_arch = .thumb, .cpu_model = .{ .explicit = &Target.arm.cpu.cortex_m4 }, .os_tag = .freestanding, .abi = .none }; // Relocatable elf const elf = b.addObject(.{ .name = "zlipper.fap", .root_source_file = b.path("src/start.zig"), .target = b.resolveTargetQuery(target_query), .optimize = optimize, .strip = true, .pic = true, }); elf.root_module.addImport("flipperzero", flipperzero); elf.setLinkerScript(b.path("linker.ld")); elf.setVerboseLink(true); elf.build_id = .none; elf.bundle_compiler_rt = false; elf.link_gc_sections = true; elf.linkage = .static; b.default_step.dependOn(&elf.step); const install_artifact = b.addInstallArtifact(elf, .{ .dest_dir = .{ .override = .{ .bin = {} } } }); b.getInstallStep().dependOn(&install_artifact.step); }