--- --- Copyright (c) 2024-2025, Quinn Stephens. --- Provided under the BSD 3-Clause license. --- workspace("Alcyone") configurations({ "DEBUG", "RELEASE" }) language("C") toolset("clang") system("windows") warnings("Extra") filter("configurations:DEBUG") symbols("On") defines({ "_DEBUG" }) filter("configurations:RELEASE") optimize("Speed") filter("toolset:clang") buildoptions({ "-target x86_64-windows-unknown", "-ffreestanding" }) linkoptions({ "-target x86_64-windows-unknown", "-fuse-ld=lld-link", "-Wl,-nodefaultlib" }) project("CRT") kind("StaticLib") location("SDK/CRT") includedirs({ "SDK/INC/CRT" }) objdir("BUILD/SDK/CRT") targetdir("BUILD/SDK") targetname("crt") files({ "SDK/INC/CRT/**.h", "SDK/CRT/**.c" }) project("RTL") kind("StaticLib") location("SDK/RTL") includedirs({ "SDK/INC/CRT", "SDK/INC/NT" }) objdir("BUILD/SDK/RTL") targetdir("BUILD/SDK") targetname("rtl") files({ "SDK/INC/NT/ntrtl.h", "SDK/RTL/**.c" }) project("BOOTMGR") kind("ConsoleApp") location("BOOT/ENVIRON/APP/BOOTMGR") files({ "BOOT/ENVIRON/INC/**.h", "BOOT/ENVIRON/LIB/**.c", "BOOT/ENVIRON/LIB/**.S", "BOOT/ENVIRON/APP/BOOTMGR/**.c" }) includedirs({ "BOOT/ENVIRON/INC", "SDK/INC/CRT", "SDK/INC/NT", "SDK/INC/EFI" }) libdirs({ "BUILD/SDK" }) objdir("BUILD/BOOT") targetdir("BUILD/BOOT") defines({ "_EFI" }) filter("toolset:clang") buildoptions({ "-fshort-wchar", "-fno-strict-aliasing", "-fno-stack-protector", "-fno-stack-check", "-mno-red-zone" }) linkoptions({ "-lcrt", "-lrtl", "-Wl,-subsystem:efi_application", "-Wl,-entry:EfiEntry" })