• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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