# Kernel Configuration options
#
+DEFAULT_PRODUCT_CONFIGS :=
+
ifeq ($(RC_ProjectName),xnu_debug)
override DEFAULT_KERNEL_CONFIG := DEBUG
+else ifeq ($(RC_ProjectName),xnu_kasan)
+override KERNEL_CONFIGS := KASAN
else ifneq ($(filter $(SUPPORTED_EMBEDDED_PLATFORMS),$(PLATFORM)),)
override DEFAULT_KERNEL_CONFIG := DEVELOPMENT
else ifeq ($(PLATFORM),MacOSX)
KERNEL_CONFIGS := DEFAULT
endif
+# If PRODUCT_CONFIGS is specified it should override default
+ifndef PRODUCT_CONFIGS
+PRODUCT_CONFIGS := $(DEFAULT_PRODUCT_CONFIGS)
+endif
+
#
# Machine Configuration options
#
# TARGET_CONFIGS is unwieldy for use in Makefiles. Convert them to
# "build configurations" which are tuples joined by "^". For
# example, "RELEASE I386 DEFAULT DEVELOPMENT ARM DEFAULT" becomes
-# "RELEASE^I386^NONE DEVELOPMENT^ARM^S5L8920X", which can be looped
+# "RELEASE^I386^NONE DEVELOPMENT^ARM^T8002", which can be looped
# over trivially. PRIMARY_BUILD_CONFIGS is the first config
# for each architecture, used primarily for machine-dependent recursion.
.PHONY: installhdrs installhdrs_mi installhdrs_md
ifeq ($(RC_ProjectName),xnu_debug)
+installhdrs:
+ @:
+else ifeq ($(RC_ProjectName),xnu_kasan)
installhdrs:
@:
else
ifeq ($(RC_ProjectName),xnu_debug)
install: install_kernels
+else ifeq ($(RC_ProjectName),xnu_kasan)
+install: install_config install_kernels
else ifeq ($(RC_ProjectName),xnu_headers_Sim)
install: installhdrs
else
CLEAN_ACTION_DIRS= $(SRCROOT)/tools/tests/MPMMTest \
$(SRCROOT)/tools/tests/TLBcoherency \
$(SRCROOT)/tools/tests/kqueue_tests \
- $(SRCROOT)/tools/tests/libMicro \
$(SRCROOT)/tools/tests/mktimer \
$(SRCROOT)/tools/tests/zero-to-n \
$(SRCROOT)/tools/tests/personas