85 lines
3.3 KiB
Makefile
85 lines
3.3 KiB
Makefile
|
|
include $(CHRE_PREFIX)/build/clean_build_template_args.mk
|
||
|
|
|
||
|
|
TARGET_NAME = aosp_cm4_exynos-embos
|
||
|
|
ifneq ($(filter $(TARGET_NAME)% all, $(MAKECMDGOALS)),)
|
||
|
|
|
||
|
|
ifeq ($(RAINBOW_SDK_DIR),)
|
||
|
|
$(error "The Rainbow SDK directory needs to be exported as the RAINBOW_SDK_DIR \
|
||
|
|
environment variable")
|
||
|
|
endif
|
||
|
|
|
||
|
|
EMBOS_V422_INCLUDE_DIR := $(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/embos/Start/Inc/Embos422
|
||
|
|
|
||
|
|
CORTEXM_ARCH := m4_hardfp
|
||
|
|
|
||
|
|
TARGET_CFLAGS += -I$(EMBOS_V422_INCLUDE_DIR)
|
||
|
|
|
||
|
|
# Sized based on the buffer allocated in the host daemon (4096 bytes), minus
|
||
|
|
# FlatBuffer overhead (max 80 bytes), minus some extra space to make a nice
|
||
|
|
# round number and allow for addition of new fields to the FlatBuffer
|
||
|
|
TARGET_CFLAGS += -DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000
|
||
|
|
|
||
|
|
# Used to expose libc headers to nanoapps that aren't supported on the given platform
|
||
|
|
TARGET_CFLAGS += -I$(CHRE_PREFIX)/platform/shared/include/chre/platform/shared/libc
|
||
|
|
|
||
|
|
TARGET_CFLAGS += $(ARM_CFLAGS)
|
||
|
|
TARGET_CFLAGS += $(EMBOS_CFLAGS)
|
||
|
|
TARGET_CFLAGS += $(EXYNOS_CFLAGS)
|
||
|
|
TARGET_CFLAGS += -I$(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/firmware/os/platform/exynos/inc
|
||
|
|
TARGET_CFLAGS += -I$(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/firmware/os/platform/exynos/inc/plat
|
||
|
|
TARGET_CFLAGS += -I$(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/firmware/os/platform/exynos/inc/plat/cmsis
|
||
|
|
TARGET_CFLAGS += -I$(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/firmware/os/platform/exynos/inc/plat/csp
|
||
|
|
TARGET_CFLAGS += -I$(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/firmware/os/platform/exynos/inc/plat/mailbox
|
||
|
|
TARGET_CFLAGS += -I$(RAINBOW_SDK_DIR)/OEM/LSI/exynos9925/embos/Project/erd9925/DeviceSupport
|
||
|
|
|
||
|
|
# TODO(b/242765122): The target won't build out of the box until the
|
||
|
|
# aforementioned bug is resolved since a set of standard library headers
|
||
|
|
# that CHRE requires are missing. Please contact the CHRE team for a
|
||
|
|
# workaround.
|
||
|
|
|
||
|
|
# IAR interlinking compatibility flags
|
||
|
|
TARGET_CFLAGS += -D__ARM7EM__
|
||
|
|
TARGET_CFLAGS += -D__CORE__=__ARM7EM__
|
||
|
|
TARGET_CFLAGS += -D__FPU_PRESENT=1
|
||
|
|
TARGET_CFLAGS += -D_LIBCPP_HAS_THREAD_API_EXTERNAL
|
||
|
|
GCC_SO_LDFLAGS += --no-wchar-size-warning
|
||
|
|
|
||
|
|
# The Exynos lib has a macro that includes common headers based on a 'Chip' ID. Eg:
|
||
|
|
# CSP_HEADER(csp_common) includes csp_common{CHIP}.h.
|
||
|
|
TARGET_CFLAGS += -DCHIP=9925
|
||
|
|
|
||
|
|
# There are quite a few macros gated by 'EMBOS' in the csp library.
|
||
|
|
TARGET_CFLAGS += -DEMBOS
|
||
|
|
|
||
|
|
# CMSIS uses the register keyword liberally, which results in a warning when
|
||
|
|
# compiled with GCC.
|
||
|
|
COMMON_CXX_CFLAGS += -Wno-register
|
||
|
|
|
||
|
|
# Temporarily need the following define, since we use printfs for logging
|
||
|
|
# until the logcat redirection is implemented.
|
||
|
|
# Reference: https://en.cppreference.com/w/cpp/types/integer#Notes
|
||
|
|
TARGET_CFLAGS += -D__int64_t_defined
|
||
|
|
|
||
|
|
# Temporarily disable implicit double promotion warnings until logcat
|
||
|
|
# redirection is implemented.
|
||
|
|
TARGET_CFLAGS += -Wno-double-promotion
|
||
|
|
|
||
|
|
# GCC is unnecessarily strict with shadow warnings in legal C++ constructor
|
||
|
|
# syntax.
|
||
|
|
TARGET_CFLAGS += -Wno-shadow
|
||
|
|
|
||
|
|
TARGET_CFLAGS += -DCHRE_FIRST_SUPPORTED_API_VERSION=CHRE_API_VERSION_1_6
|
||
|
|
|
||
|
|
TARGET_VARIANT_SRCS += $(EMBOS_SRCS)
|
||
|
|
TARGET_VARIANT_SRCS += $(EXYNOS_SRCS)
|
||
|
|
TARGET_VARIANT_SRCS += $(ARM_SRCS)
|
||
|
|
TARGET_VARIANT_SRCS += $(DSO_SUPPORT_LIB_SRCS)
|
||
|
|
|
||
|
|
TARGET_CFLAGS += $(DSO_SUPPORT_LIB_CFLAGS)
|
||
|
|
|
||
|
|
TARGET_PLATFORM_ID = 0x476F6F676C002000
|
||
|
|
|
||
|
|
include $(CHRE_PREFIX)/build/arch/cortexm.mk
|
||
|
|
include $(CHRE_PREFIX)/build/build_template.mk
|
||
|
|
endif
|