59 lines
1.7 KiB
Lua
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" })
|