xref: /aosp_15_r20/system/chre/external/tflm/tflm.mk (revision 84e339476a462649f82315436d70fd732297a399)
1*84e33947SAndroid Build Coastguard Worker#
2*84e33947SAndroid Build Coastguard Worker# TFLM Makefile
3*84e33947SAndroid Build Coastguard Worker#
4*84e33947SAndroid Build Coastguard Worker# This file is automatically included by default.
5*84e33947SAndroid Build Coastguard Worker# Please add USE_TFLM=true and TFLM=path_to_tflm to enable TFLM.
6*84e33947SAndroid Build Coastguard Worker
7*84e33947SAndroid Build Coastguard Workerifeq ($(USE_TFLM),true)
8*84e33947SAndroid Build Coastguard Worker
9*84e33947SAndroid Build Coastguard Worker# Environment Checks ###########################################################
10*84e33947SAndroid Build Coastguard Worker
11*84e33947SAndroid Build Coastguard Workerifeq ($(TFLM_PATH),)
12*84e33947SAndroid Build Coastguard Worker$(error "TFLM_PATH is empty. You must supply a TFLM_PATH environment \
13*84e33947SAndroid Build Coastguard Worker         variable containing a path to the TFLM library. Example: \
14*84e33947SAndroid Build Coastguard Worker         export TFLM_PATH=$$(CHRE_PREFIX)/external/tflm/latest")
15*84e33947SAndroid Build Coastguard Workerendif
16*84e33947SAndroid Build Coastguard Worker
17*84e33947SAndroid Build Coastguard Worker# TFLM Source Files ############################################################
18*84e33947SAndroid Build Coastguard Worker
19*84e33947SAndroid Build Coastguard WorkerTFLM_SRCS = $(shell find $(TFLM_PATH) \( -name '*.cc' -o -name '*.c' \))
20*84e33947SAndroid Build Coastguard Worker
21*84e33947SAndroid Build Coastguard Workerifeq ($(TFLM_SRCS),)
22*84e33947SAndroid Build Coastguard Worker$(error "Your $$TFLM_PATH is empty. Please download the latest TFLM using \
23*84e33947SAndroid Build Coastguard Worker         external/tflm/tflm_sync_srcs.sh")
24*84e33947SAndroid Build Coastguard Workerendif
25*84e33947SAndroid Build Coastguard Worker
26*84e33947SAndroid Build Coastguard WorkerCOMMON_SRCS += TFLM_SRCS
27*84e33947SAndroid Build Coastguard Worker
28*84e33947SAndroid Build Coastguard Worker# TFLM Required flags ##########################################################
29*84e33947SAndroid Build Coastguard Worker
30*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -I$(TFLM_PATH)
31*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -I$(TFLM_PATH)/third_party
32*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -I$(TFLM_PATH)/third_party/flatbuffers/include
33*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -I$(TFLM_PATH)/third_party/gemmlowp
34*84e33947SAndroid Build Coastguard Worker
35*84e33947SAndroid Build Coastguard Worker# TFLM uses <complex> which requires including several SDK headers
36*84e33947SAndroid Build Coastguard Workerifneq ($(HEXAGON_SDK_PREFIX),)
37*84e33947SAndroid Build Coastguard WorkerHEXAGON_CFLAGS += -I$(HEXAGON_SDK_PREFIX)/libs/qurt/latest/include/posix
38*84e33947SAndroid Build Coastguard WorkerHEXAGON_CFLAGS += -I$(HEXAGON_SDK_PREFIX)/libs/qurt/latest/include/qurt
39*84e33947SAndroid Build Coastguard Workerendif
40*84e33947SAndroid Build Coastguard Worker
41*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -DTF_LITE_STATIC_MEMORY
42*84e33947SAndroid Build Coastguard Worker
43*84e33947SAndroid Build Coastguard Workerendif
44