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