build: Replace DEFAULT_VAR with simpler USER_VARIABLE macro

This commit is contained in:
mintsuki 2024-08-31 05:47:37 +02:00
parent 64e336e9b9
commit 944e9bb41d
2 changed files with 13 additions and 20 deletions

View File

@ -41,14 +41,7 @@ MKESCAPE = $(subst $(SPACE),\ ,$(1))
SHESCAPE = $(subst ','\'',$(1))
NASMESCAPE = $(subst ','"'$(COMMA) \"'\"$(COMMA) '"',$(1))
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)))
override BUILD_BIOS := @BUILD_BIOS@
override BUILD_UEFI_X86_64 := @BUILD_UEFI_X86_64@
@ -61,7 +54,7 @@ override BUILD_BIOS_PXE := @BUILD_BIOS_PXE@
override BUILD_BIOS_CD := @BUILD_BIOS_CD@
override DEFAULT_CC := @CC@
$(eval $(call DEFAULT_VAR,CC,$(DEFAULT_CC)))
$(call USER_VARIABLE,CC,$(DEFAULT_CC))
export CC
override MKDIR_P := @MKDIR_P@
@ -86,18 +79,18 @@ override AWK := @AWK@
export AWK
override DEFAULT_CPPFLAGS := @CPPFLAGS@
$(eval $(call DEFAULT_VAR,CPPFLAGS,$(DEFAULT_CPPFLAGS)))
$(call USER_VARIABLE,CPPFLAGS,$(DEFAULT_CPPFLAGS))
override CPPFLAGS := @PKGCONF_CPPFLAGS@ $(CPPFLAGS)
export CPPFLAGS
override DEFAULT_CFLAGS := @CFLAGS@
$(eval $(call DEFAULT_VAR,CFLAGS,$(DEFAULT_CFLAGS)))
$(call USER_VARIABLE,CFLAGS,$(DEFAULT_CFLAGS))
override CFLAGS += @PKGCONF_CFLAGS@
export CFLAGS
override DEFAULT_LDFLAGS := @LDFLAGS@
$(eval $(call DEFAULT_VAR,LDFLAGS,$(DEFAULT_LDFLAGS)))
$(call USER_VARIABLE,LDFLAGS,$(DEFAULT_LDFLAGS))
export LDFLAGS
override DEFAULT_LIBS := @LIBS@
$(eval $(call DEFAULT_VAR,LIBS,$(DEFAULT_LIBS)))
$(call USER_VARIABLE,LIBS,$(DEFAULT_LIBS))
override LIBS += @PKGCONF_LIBS@
export LIBS
@ -105,16 +98,16 @@ override WERROR_FLAG := @WERROR_FLAG@
export WERROR_FLAG
override DEFAULT_CFLAGS_FOR_TARGET := @CFLAGS_FOR_TARGET@
$(eval $(call DEFAULT_VAR,CFLAGS_FOR_TARGET,$(DEFAULT_CFLAGS_FOR_TARGET)))
$(call USER_VARIABLE,CFLAGS_FOR_TARGET,$(DEFAULT_CFLAGS_FOR_TARGET))
export CFLAGS_FOR_TARGET
override DEFAULT_CPPFLAGS_FOR_TARGET := @CPPFLAGS_FOR_TARGET@
$(eval $(call DEFAULT_VAR,CPPFLAGS_FOR_TARGET,$(DEFAULT_CPPFLAGS_FOR_TARGET)))
$(call USER_VARIABLE,CPPFLAGS_FOR_TARGET,$(DEFAULT_CPPFLAGS_FOR_TARGET))
export CPPFLAGS_FOR_TARGET
override DEFAULT_LDFLAGS_FOR_TARGET := @LDFLAGS_FOR_TARGET@
$(eval $(call DEFAULT_VAR,LDFLAGS_FOR_TARGET,$(DEFAULT_LDFLAGS_FOR_TARGET)))
$(call USER_VARIABLE,LDFLAGS_FOR_TARGET,$(DEFAULT_LDFLAGS_FOR_TARGET))
export LDFLAGS_FOR_TARGET
override DEFAULT_NASMFLAGS_FOR_TARGET := @NASMFLAGS_FOR_TARGET@
$(eval $(call DEFAULT_VAR,NASMFLAGS_FOR_TARGET,$(DEFAULT_NASMFLAGS_FOR_TARGET)))
$(call USER_VARIABLE,NASMFLAGS_FOR_TARGET,$(DEFAULT_NASMFLAGS_FOR_TARGET))
export NASMFLAGS_FOR_TARGET
override LIMINE_VERSION := @PACKAGE_VERSION@

View File

@ -72,15 +72,15 @@ if ! test -f version; then
cp decompressor/cc-runtime.c common/cc-runtime.s2.c
download_by_hash \
https://github.com/osdev0/freestanding-toolchain/raw/d68bd5dfd47e8ccb6a69cf1e3d40e84e9cf2e8f4/freestanding-toolchain \
https://github.com/osdev0/freestanding-toolchain/raw/729281786413dc16529d87bd4ea13f03a71e004e/freestanding-toolchain \
build-aux/freestanding-toolchain \
0eaab0ff59b87342804420552e2d84cb5b2cac834dad5bef994ba2db70e36567
1176b458cac5a7e72b4237fbe22f2245d96f1ac851408f834dc549ebc2d7076b
chmod +x build-aux/freestanding-toolchain
clone_repo_commit \
https://github.com/limine-bootloader/limine-efi.git \
limine-efi \
73f724af317f058739570ab213f182a8872ec48f
8f36aa3414b6ae95ec341cae518cbada1ebb6372
clone_repo_commit \
https://github.com/jibsen/tinf.git \