1# Copyright (c) 2023 Institute of Parallel And Distributed Systems (IPADS), Shanghai Jiao Tong University (SJTU) 2# Licensed under the Mulan PSL v2. 3# You can use this software according to the terms and conditions of the Mulan PSL v2. 4# You may obtain a copy of Mulan PSL v2 at: 5# http://license.coscl.org.cn/MulanPSL2 6# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 7# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 8# PURPOSE. 9# See the Mulan PSL v2 for more details. 10 11# string config 12STR_CONFIGS = \ 13CHCORE_COMPILER=clang \ 14CHCORE_CROSS_COMPILE=aarch64-linux-ohos- \ 15CHCORE_PLAT=rk3568 \ 16CHCORE_ARCH=aarch64 \ 17CHCORE_SPD=opteed 18 19# bool config 20BOOL_CONFIGS = \ 21CHCORE_VERBOSE_BUILD=OFF \ 22CHCORE_ENABLE_FMAP=ON \ 23CHCORE_USER_DEBUG=OFF \ 24CHCORE_MINI=ON \ 25CHCORE_OH_TEE=ON \ 26CHCORE_KERNEL_DEBUG=OFF \ 27CHCORE_KERNEL_TEST=OFF \ 28CHCORE_KERNEL_RT=OFF 29 30 31# set the config in Makefile 32$(foreach CONFIG,$(STR_CONFIGS) $(BOOL_CONFIGS), \ 33 $(eval KEY = $(word 1,$(subst =, ,$(CONFIG)))) \ 34 $(eval VALUE = $(word 2,$(subst =, ,$(CONFIG)))) \ 35 $(eval $(KEY)=$(VALUE)) \ 36 ) 37 38# set CONFIG_FLAGS 39$(foreach CONFIG,$(STR_CONFIGS), \ 40 $(eval CONFIG_FLAGS += -D$(CONFIG)) \ 41 ) 42$(foreach CONFIG,$(BOOL_CONFIGS), \ 43 $(eval KEY = $(word 1,$(subst =, ,$(CONFIG)))) \ 44 $(eval VALUE = $(word 2,$(subst =, ,$(CONFIG)))) \ 45 $(eval CONFIG_FLAGS += $(if $(filter ON,$(VALUE)),-D$(KEY),)) \ 46 ) 47CONFIG_FLAGS += -DCHCORE_ARCH_$(shell echo $(CHCORE_ARCH) | tr '[:lower:]' '[:upper:]') 48CONFIG_FLAGS += -DCHCORE_PLAT_$(shell echo $(CHCORE_PLAT) | tr '[:lower:]' '[:upper:]') 49CONFIG_FLAGS += -DCHCORE_SPD_$(shell echo $(CHCORE_SPD) | tr '[:lower:]' '[:upper:]') 50CONFIG_FLAGS += -DCHCORE 51