Compare commits

...

2 commits

Author SHA1 Message Date
mintsuki
bc16968387
Merge aae8a3c2e0 into b7d5f81b35 2024-09-01 02:51:02 +02:00
mintsuki
aae8a3c2e0 Update Zealbooter build system from Limine template 2024-09-01 02:50:19 +02:00

View file

@ -1,43 +1,31 @@
# Nuke built-in rules and variables.
override MAKEFLAGS += -rR
MAKEFLAGS += -rR
.SUFFIXES:
# This is the name that our final executable will have.
# Change as needed.
override OUTPUT := kernel
# Convenience macro to reliably declare user overridable variables.
define DEFAULT_VAR =
ifeq ($(origin $1),default)
override $(1) := $(2)
endif
ifeq ($(origin $1),undefined)
override $(1) := $(2)
endif
endef
override USER_VARIABLE = $(if $(filter $(origin $(1)),default undefined),$(eval override $(1) := $(2)))
# User controllable C compiler command.
override DEFAULT_KCC := cc
$(eval $(call DEFAULT_VAR,KCC,$(DEFAULT_KCC)))
$(call USER_VARIABLE,KCC,cc)
# User controllable linker command.
override DEFAULT_KLD := ld
$(eval $(call DEFAULT_VAR,KLD,$(DEFAULT_KLD)))
$(call USER_VARIABLE,KLD,ld)
# User controllable C flags.
override DEFAULT_KCFLAGS := -g -O2 -pipe
$(eval $(call DEFAULT_VAR,KCFLAGS,$(DEFAULT_KCFLAGS)))
$(call USER_VARIABLE,KCFLAGS,-g -O2 -pipe)
# User controllable C preprocessor flags. We set none by default.
override DEFAULT_KCPPFLAGS :=
$(eval $(call DEFAULT_VAR,KCPPFLAGS,$(DEFAULT_KCPPFLAGS)))
$(call USER_VARIABLE,KCPPFLAGS,)
# User controllable nasm flags.
override DEFAULT_KNASMFLAGS := -F dwarf -g
$(eval $(call DEFAULT_VAR,KNASMFLAGS,$(DEFAULT_KNASMFLAGS)))
$(call USER_VARIABLE,KNASMFLAGS,-F dwarf -g)
# User controllable linker flags. We set none by default.
override DEFAULT_KLDFLAGS :=
$(eval $(call DEFAULT_VAR,KLDFLAGS,$(DEFAULT_KLDFLAGS)))
$(call USER_VARIABLE,KLDFLAGS,)
# Internal C flags that should not be changed by the user.
override KCFLAGS += \