add_rules("mode.debug", "mode.release") set_defaultmode("debug") if is_mode("debug") then set_toolchains("dmd") else set_toolchains("ldc") set_strip("all") end -- Shared formats used by more than one tool (object files, images). local core = "src/wcore/*.d" -- 6502 emulator: loads a .wimg image (or raw binary) and runs it. target("weirdcpu") do set_kind("binary") add_includedirs("src") add_files("src/emulator/*.d") add_files(core) end -- Assembler: .asm source -> .wo object. target("wiasm") do set_kind("binary") add_includedirs("src") add_files("src/assembler/*.d") add_files(core) end -- Linker: one or more .wo objects -> .wimg image + .map. target("wlinker") do set_kind("binary") add_includedirs("src") add_files("src/linker/*.d") add_files(core) end