1CFG_LTC_OPTEE_THREAD ?= y 2 3ifeq ($(CFG_ARM64_core),y) 4CFG_KERN_LINKER_FORMAT ?= elf64-littleaarch64 5CFG_KERN_LINKER_ARCH ?= aarch64 6endif 7ifeq ($(CFG_ARM32_core),y) 8CFG_KERN_LINKER_FORMAT ?= elf32-littlearm 9CFG_KERN_LINKER_ARCH ?= arm 10endif 11 12 13core-platform-cppflags += -I$(arch-dir)/include 14core-platform-subdirs += \ 15 $(addprefix $(arch-dir)/, kernel mm tee sta) $(platform-dir) 16 17ifneq ($(CFG_WITH_ARM_TRUSTED_FW),y) 18core-platform-subdirs += $(arch-dir)/sm 19endif 20 21arm64-platform-cppflags += -DARM64=1 -D__LP64__=1 22arm32-platform-cppflags += -DARM32=1 -D__ILP32__=1 23 24platform-cflags-generic ?= -g -ffunction-sections -fdata-sections -pipe 25platform-aflags-generic ?= -g -pipe 26 27arm32-platform-cflags-no-hard-float ?= -mno-apcs-float -mfloat-abi=soft 28arm32-platform-cflags-generic ?= -mthumb -mthumb-interwork -mlong-calls \ 29 -fno-short-enums -fno-common -mno-unaligned-access 30arm32-platform-aflags-no-hard-float ?= 31 32arm64-platform-cflags-no-hard-float ?= -mgeneral-regs-only 33arm64-platform-cflags-generic ?= -mstrict-align 34 35ifeq ($(DEBUG),1) 36platform-cflags-optimization ?= -O0 37else 38platform-cflags-optimization ?= -Os 39endif 40 41platform-cflags-debug-info ?= -g3 42platform-aflags-debug-info ?= 43 44core-platform-cflags += $(platform-cflags-optimization) 45core-platform-cflags += $(platform-cflags-generic) 46core-platform-cflags += $(platform-cflags-debug-info) 47 48core-platform-aflags += $(platform-aflags-generic) 49core-platform-aflags += $(platform-aflags-debug-info) 50 51ifeq ($(CFG_ARM64_core),y) 52core-platform-cppflags += $(arm64-platform-cppflags) 53core-platform-cflags += $(arm64-platform-cflags) 54core-platform-cflags += $(arm64-platform-cflags-generic) 55core-platform-cflags += $(arm64-platform-cflags-no-hard-float) 56core-platform-aflags += $(arm64-platform-aflags) 57else 58core-platform-cppflags += $(arm32-platform-cppflags) 59core-platform-cflags += $(arm32-platform-cflags) 60core-platform-cflags += $(arm32-platform-cflags-no-hard-float) 61core-platform-cflags += $(arm32-platform-cflags-generic) 62core-platform-aflags += $(core_arm32-platform-aflags) 63core-platform-aflags += $(arm32-platform-aflags) 64endif 65 66ifneq ($(filter ta_arm32,$(ta-targets)),) 67# Variables for ta-target/sm "ta_arm32" 68CFG_ARM32_ta_arm32 := y 69ta_arm32-platform-cppflags += $(arm32-platform-cppflags) 70ta_arm32-platform-cflags += $(arm32-platform-cflags) 71ta_arm32-platform-cflags += $(platform-cflags-optimization) 72ta_arm32-platform-cflags += $(platform-cflags-debug-info) 73ta_arm32-platform-cflags += -fpie 74ta_arm32-platform-cflags += $(arm32-platform-cflags-generic) 75ta_arm32-platform-cflags += $(arm32-platform-cflags-no-hard-float) 76ta_arm32-platform-aflags += $(platform-aflags-debug-info) 77ta_arm32-platform-aflags += $(arm32-platform-aflags) 78 79ta-mk-file-export-vars-ta_arm32 += CFG_ARM32_ta_arm32 80ta-mk-file-export-vars-ta_arm32 += ta_arm32-platform-cppflags 81ta-mk-file-export-vars-ta_arm32 += ta_arm32-platform-cflags 82ta-mk-file-export-vars-ta_arm32 += ta_arm32-platform-aflags 83endif 84 85ifneq ($(filter ta_arm64,$(ta-targets)),) 86# Variables for ta-target/sm "ta_arm64" 87CFG_ARM64_ta_arm64 := y 88ta_arm64-platform-cppflags += $(arm64-platform-cppflags) 89ta_arm64-platform-cflags += $(arm64-platform-cflags) 90ta_arm64-platform-cflags += $(platform-cflags-optimization) 91ta_arm64-platform-cflags += $(platform-cflags-debug-info) 92ta_arm64-platform-cflags += -fpie 93ta_arm64-platform-cflags += $(arm64-platform-cflags-generic) 94ta_arm64-platform-cflags += $(arm64-platform-cflags-no-hard-float) 95ta_arm64-platform-aflags += $(platform-aflags-debug-info) 96ta_arm64-platform-aflags += $(arm64-platform-aflags) 97 98ta-mk-file-export-vars-ta_arm64 += CFG_ARM64_ta_arm64 99ta-mk-file-export-vars-ta_arm64 += ta_arm64-platform-cppflags 100ta-mk-file-export-vars-ta_arm64 += ta_arm64-platform-cflags 101ta-mk-file-export-vars-ta_arm64 += ta_arm64-platform-aflags 102endif 103