alcyone/premake5.lua
Quinn Stephens 5c52adf492 [SDK] Big update
Signed-off-by: Quinn Stephens <quinn@osmora.org>
2025-06-11 20:00:34 -04:00

59 lines
1.7 KiB
Lua

---
--- 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" })