133ce91b37062fa63af192f5643de93f3beebe854JP AbgrallEXEC = inv_mpu_iio$(SHARED_APP_SUFFIX)
27494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
37494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallMK_NAME = $(notdir $(CURDIR)/$(firstword $(MAKEFILE_LIST)))
47494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
57494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCROSS ?= $(ANDROID_ROOT)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
67494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCOMP  ?= $(CROSS)gcc
77494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLINK  ?= $(CROSS)gcc
87494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
97494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallOBJFOLDER = $(CURDIR)/obj
107494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
117494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallINV_ROOT   = ../../../../..
127494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallAPP_DIR    = $(CURDIR)/../..
137494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallMLLITE_DIR = $(INV_ROOT)/software/core/mllite
1464ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranCOMMON_DIR = $(INV_ROOT)/software/simple_apps/common
157494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallMPL_DIR    = $(INV_ROOT)/software/core/mpl
1664ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranHAL_DIR    = $(INV_ROOT)/software/core/HAL
177494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
187494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallinclude $(INV_ROOT)/software/build/android/common.mk
197494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
207494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += $(CMDLINE_CFLAGS)
217494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -Wall
227494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -fpic
237494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -nostdlib
247494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -DNDEBUG
257494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -D_REENTRANT
267494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -DLINUX
277494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -DANDROID
287494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -mthumb-interwork
297494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -fno-exceptions
307494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -ffunction-sections
317494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -funwind-tables
327494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -fstack-protector
337494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -fno-short-enums
347494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -fmessage-length=0
357494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -I$(MLLITE_DIR)
367494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -I$(MPL_DIR)
377494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -I$(COMMON_DIR)
387494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += -I$(HAL_DIR)/include
397494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += $(INV_INCLUDES)
407494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallCFLAGS += $(INV_DEFINES)
417494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
427494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK  = -lc
437494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -lm
447494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -lutils
457494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -lcutils
467494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -lgcc
477494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -ldl
487494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -lstdc++
497494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -llog
507494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLLINK += -lz
517494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
5264ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranPRE_LFLAGS := -Wl,-T,$(ANDROID_ROOT)/build/core/armelf.x
5364ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranPRE_LFLAGS += $(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib/crtend_android.o
5464ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranPRE_LFLAGS += $(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib/crtbegin_dynamic.o
5564ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan Rajeswaran
567494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLFLAGS += $(CMDLINE_LFLAGS)
5764ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += -nostdlib
5864ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += -fpic
5964ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += -Wl,--gc-sections 
6064ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += -Wl,--no-whole-archive 
6164ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += -Wl,-dynamic-linker,/system/bin/linker
6264ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += $(ANDROID_LINK)
6364ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan Rajeswaranifneq ($(PRODUCT),panda)
6464ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan RajeswaranLFLAGS += -rdynamic
6564ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan Rajeswaranendif
667494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
677494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallLRPATH  = -Wl,-rpath,$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib:$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/system/lib
687494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
697494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall####################################################################################################
707494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall## sources
717494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
727494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallINV_LIBS  = $(MPL_DIR)/build/$(TARGET)/$(LIB_PREFIX)$(MPL_LIB_NAME).$(SHARED_LIB_EXT)
737494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallINV_LIBS += $(MLLITE_DIR)/build/$(TARGET)/$(LIB_PREFIX)$(MLLITE_LIB_NAME).$(SHARED_LIB_EXT)
747494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
757494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#INV_SOURCES and VPATH provided by Makefile.filelist
767494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallinclude ../filelist.mk
777494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
787494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallINV_OBJS := $(addsuffix .o,$(INV_SOURCES))
797494581689b0fc1d8addd016b1c92d74d01f5ad4JP AbgrallINV_OBJS_DST = $(addprefix $(OBJFOLDER)/,$(addsuffix .o, $(notdir $(INV_SOURCES))))
807494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
817494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall####################################################################################################
827494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall## rules
837494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
847494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall.PHONY: all clean cleanall install
857494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
867494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallall: $(EXEC) $(MK_NAME)
877494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
887494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall$(EXEC) : $(OBJFOLDER) $(INV_OBJS_DST) $(INV_LIBS) $(MK_NAME)
897494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	@$(call echo_in_colors, "\n<linking $(EXEC) with objects $(INV_OBJS_DST) $(PREBUILT_OBJS) and libraries $(INV_LIBS)\n")
9064ca18f95225d0a86f7ccfd1d21c23971b9f77aeRamanan Rajeswaran	$(LINK) $(PRE_LFLAGS) $(INV_OBJS_DST) -o $(EXEC) $(LFLAGS) $(LLINK) $(INV_LIBS) $(LLINK) $(LRPATH)
917494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
927494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall$(OBJFOLDER) :
937494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	@$(call echo_in_colors, "\n<creating object's folder 'obj/'>\n")
947494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	mkdir obj
957494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
967494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall$(INV_OBJS_DST) : $(OBJFOLDER)/%.c.o : %.c  $(MK_NAME)
977494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	@$(call echo_in_colors, "\n<compile $< to $(OBJFOLDER)/$(notdir $@)>\n")
987494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	$(COMP) $(ANDROID_INCLUDES) $(KERNEL_INCLUDES) $(INV_INCLUDES) $(CFLAGS) -o $@ -c $<
997494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1007494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallclean : 
1017494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	rm -fR $(OBJFOLDER)
1027494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1037494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallcleanall : 
1047494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	rm -fR $(EXEC) $(OBJFOLDER)
1057494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1067494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallinstall : $(EXEC)
1077494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	cp -f $(EXEC) $(INSTALL_DIR)
1087494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1097494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
110