diff --git a/.gitignore b/.gitignore index e257658..f45fa52 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,14 @@ # ---> C++ + +# Editor configuration +.vs/ +.vscode/ + +# Build files +*.make +Makefile +/BUILD/ + # Prerequisites *.d diff --git a/premake5.lua b/premake5.lua new file mode 100644 index 0000000..09e41d3 --- /dev/null +++ b/premake5.lua @@ -0,0 +1,29 @@ +--- +--- Copyright (c) 2024, Quinn Stephens. +--- Provided under the BSD 3-Clause license. +--- + +workspace("LibreXP") + language("C") + toolset("clang") + configurations({ "Debug", "Release" }) + + filter("configurations:Debug") + defines({ "DEBUG" }) + symbols("On") + + filter("configurations:Release") + defines({ "NDEBUG" }) + optimize("On") + +project("BOOT") + kind("ConsoleApp") + + includedirs({ "BOOT/ENVIRON/INC" }) + objdir("BUILD/BOOT") + targetdir("BUILD/BOOT") + files({ "BOOT/ENVIRON/INC/**.h", "BOOT/ENVIRON/**.c" }) + + filter("toolset:clang") + buildoptions({ "-target x86_64-windows-unknown", "-Wall", "-Wextra", "-O2", "-ffreestanding", "-fshort-wchar", "-fno-strict-aliasing", "-fno-stack-protector", "-fno-stack-check", "-mno-red-zone" }) + linkoptions({ "-target x86_64-windows-unknown", "-fuse-ld=lld-link", "-Wl,-subsystem:efi_application", "-Wl,-entry:EfiEntry", "-Wl,-nodefaultlib" })