summaryrefslogtreecommitdiffstats
path: root/libsensors_iio/software/core/mllite/build/android/static.mk
blob: 6ad45defa84af2a244722c7a1f1a1f51373781a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
MLLITE_LIB_NAME = mllite
LIBRARY = $(LIB_PREFIX)$(MLLITE_LIB_NAME).$(STATIC_LIB_EXT)

MK_NAME = $(notdir $(CURDIR)/$(firstword $(MAKEFILE_LIST)))

OBJFOLDER = $(CURDIR)/obj

CROSS = arm-none-linux-gnueabi-
COMP= $(CROSS)gcc
LINK= $(CROSS)ar cr

MLLITE_DIR = $(MLSDK_ROOT)/mllite
MPL_DIR = $(MLSDK_ROOT)/mldmp
MLPLATFORM_DIR = $(MLSDK_ROOT)/platform

include $(MLSDK_ROOT)/Android-common.mk

CFLAGS += $(CMDLINE_CFLAGS)
CFLAGS += -Wall -fpic
CFLAGS += -mthumb-interwork -fno-exceptions -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -fmessage-length=0
CFLAGS += -DNDEBUG
CFLAGS += -D_REENTRANT -DLINUX -DANDROID
CFLAGS += -I$(MLLITE_DIR) 
CFLAGS += -I$(MLPLATFORM_DIR)/include
CFLAGS += -I$(MLSDK_ROOT)/mlutils 
CFLAGS += -I$(MLSDK_ROOT)/mlapps/common
CFLAGS += $(MLSDK_INCLUDES)
CFLAGS += $(MLSDK_DEFINES)

VPATH += $(MLLITE_DIR) 
VPATH += $(MLSDK_ROOT)/mlutils
VPATH += $(MLLITE_DIR)/accel 
VPATH += $(MLLITE_DIR)/compass 
VPATH += $(MLLITE_DIR)/pressure 
VPATH += $(MLLITE_DIR)/mlapps/common

####################################################################################################
## sources

ML_LIBS  = $(MLPLATFORM_DIR)/linux/$(LIB_PREFIX)$(MLPLATFORM_LIB_NAME).$(STATIC_LIB_EXT)

ML_SOURCES += $(MLLITE_DIR)/mldl_cfg_mpu.c
ML_SOURCES += $(MLLITE_DIR)/mldl_cfg_init_linux.c
ML_SOURCES += $(MLLITE_DIR)/accel.c
ML_SOURCES += $(MLLITE_DIR)/compass.c
ML_SOURCES += $(MLLITE_DIR)/compass_supervisor.c
ML_SOURCES += $(MLLITE_DIR)/compass_supervisor_adv_callbacks.c
ML_SOURCES += $(MLLITE_DIR)/key0_96.c
ML_SOURCES += $(MLLITE_DIR)/pressure.c
ML_SOURCES += $(MLLITE_DIR)/ml.c
ML_SOURCES += $(MLLITE_DIR)/ml_invobj.c
ML_SOURCES += $(MLLITE_DIR)/ml_init.c
ML_SOURCES += $(MLLITE_DIR)/mlarray_lite.c
ML_SOURCES += $(MLLITE_DIR)/mlarray_adv.c
ML_SOURCES += $(MLLITE_DIR)/mlarray_legacy.c
ML_SOURCES += $(MLLITE_DIR)/mlBiasNoMotion.c
ML_SOURCES += $(MLLITE_DIR)/mlFIFO.c
ML_SOURCES += $(MLLITE_DIR)/mlFIFOHW.c
ML_SOURCES += $(MLLITE_DIR)/mlMathFunc.c
ML_SOURCES += $(MLLITE_DIR)/mlcontrol.c
ML_SOURCES += $(MLLITE_DIR)/mldl.c
ML_SOURCES += $(MLLITE_DIR)/mldmp.c
ML_SOURCES += $(MLLITE_DIR)/dmpDefault.c
ML_SOURCES += $(MLLITE_DIR)/mlstates.c
ML_SOURCES += $(MLLITE_DIR)/mlsupervisor.c
ML_SOURCES += $(MLLITE_DIR)/ml_stored_data.c
ML_SOURCES += $(MLLITE_DIR)/ustore_manager.c
ML_SOURCES += $(MLLITE_DIR)/ustore_mlsl_io.c
ML_SOURCES += $(MLLITE_DIR)/ustore_adv_fusion_delegate.c
ML_SOURCES += $(MLLITE_DIR)/ustore_lite_fusion_delegate.c
ML_SOURCES += $(MLLITE_DIR)/temp_comp_legacy.c
ML_SOURCES += $(MLLITE_DIR)/mlSetGyroBias.c
ML_SOURCES += $(MLSDK_ROOT)/mlutils/checksum.c
ML_SOURCES += $(MLSDK_ROOT)/mlutils/mputest.c
ML_SOURCES += $(MLLITE_DIR)/mldl_print_cfg.c
ifeq ($(MPU_NAME),MPU3050)
ML_SOURCES += $(MLSDK_ROOT)/mlutils/mpu3050test.c
else
ML_SOURCES += $(MLSDK_ROOT)/mlutils/mpu6050test.c
endif

ML_OBJS := $(addsuffix .o,$(ML_SOURCES))
ML_OBJS_DST = $(addprefix $(OBJFOLDER)/,$(addsuffix .o, $(notdir $(ML_SOURCES))))

####################################################################################################
## rules

.PHONY: all clean cleanall

all: $(LIBRARY) $(MK_NAME)

$(LIBRARY) : $(OBJFOLDER) $(ML_OBJS_DST) $(ML_LIBS) $(MK_NAME)
	@$(call echo_in_colors, "\n<linking $(LIBRARY) with objects $(ML_OBJS_DST)\n")
	$(LINK) $(LIBRARY) $(ML_OBJS_DST)
	$(CROSS)ranlib $(LIBRARY)

$(OBJFOLDER) : 
	@$(call echo_in_colors, "\n<creating object's folder 'obj/'>\n")
	mkdir obj

$(ML_OBJS_DST) : $(OBJFOLDER)/%.c.o : %.c  $(MK_NAME)
	@$(call echo_in_colors, "\n<compile $< to $(OBJFOLDER)/$(notdir $@)>\n")
	$(COMP) $(CFLAGS) $(ANDROID_INCLUDES) $(KERNEL_INCLUDES) $(MLSDK_INCLUDES) -o $@ -c $<

clean : 
	rm -fR $(OBJFOLDER)

cleanall : 
	rm -fR $(LIBRARY) $(OBJFOLDER)