1c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroEXEC = inv_devnode_parser$(SHARED_APP_SUFFIX) 2c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 3c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroMK_NAME = $(notdir $(CURDIR)/$(firstword $(MAKEFILE_LIST))) 4c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 5c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCROSS ?= $(ANDROID_ROOT)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- 6c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCOMP ?= $(CROSS)gcc 7c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLINK ?= $(CROSS)gcc 8c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 9c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroOBJFOLDER = $(CURDIR)/obj 10c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 11c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroINV_ROOT = ../../../../.. 12c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroAPP_DIR = $(CURDIR)/../.. 13c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroMLLITE_DIR = $(INV_ROOT)/software/core/mllite 14c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 15c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaroinclude $(INV_ROOT)/software/build/android/common.mk 16c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 17c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += $(CMDLINE_CFLAGS) 18c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += $(ANDROID_COMPILE) 19c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -Wall 20c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -fpic 21c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -nostdlib 22c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -DNDEBUG 23c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -D_REENTRANT 24c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -DLINUX 25c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -DANDROID 26c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -mthumb-interwork 27c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -fno-exceptions 28c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -ffunction-sections 29c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -funwind-tables 30c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -fstack-protector 31c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -fno-short-enums 32c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -fmessage-length=0 33c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -I$(MLLITE_DIR) 34c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += -I$(MPL_DIR) 35c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += $(INV_INCLUDES) 36c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroCFLAGS += $(INV_DEFINES) 37c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 38c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK = -lc 39c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -lm 40c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -lutils 41c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -lcutils 42c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -lgcc 43c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -ldl 44c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -lstdc++ 45c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -llog 46c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLLINK += -lz 47c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 48c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLFLAGS += $(CMDLINE_LFLAGS) 49c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLFLAGS += $(ANDROID_LINK_EXECUTABLE) 50c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 51c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroLRPATH = -Wl,-rpath,$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib:$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/system/lib 52c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 53c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#################################################################################################### 54c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro## sources 55c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 56c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroINV_LIBS = $(MLLITE_DIR)/build/$(TARGET)/$(LIB_PREFIX)$(MLLITE_LIB_NAME).$(SHARED_LIB_EXT) 57c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 58c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#INV_SOURCES and VPATH provided by Makefile.filelist 59c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaroinclude ../filelist.mk 60c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 61c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroINV_OBJS := $(addsuffix .o,$(INV_SOURCES)) 62c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick VaccaroINV_OBJS_DST = $(addprefix $(OBJFOLDER)/,$(addsuffix .o, $(notdir $(INV_SOURCES)))) 63c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 64c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#################################################################################################### 65c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro## rules 66c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 67c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro.PHONY: all clean cleanall install 68c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 69c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaroall: $(EXEC) $(MK_NAME) 70c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 71c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro$(EXEC) : $(OBJFOLDER) $(INV_OBJS_DST) $(INV_LIBS) $(MK_NAME) 72c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro @$(call echo_in_colors, "\n<linking $(EXEC) with objects $(INV_OBJS_DST) $(PREBUILT_OBJS) and libraries $(INV_LIBS)\n") 73c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro $(LINK) $(INV_OBJS_DST) -o $(EXEC) $(LFLAGS) $(LLINK) $(INV_LIBS) $(LLINK) $(LRPATH) 74c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 75c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro$(OBJFOLDER) : 76c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro @$(call echo_in_colors, "\n<creating object's folder 'obj/'>\n") 77c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro mkdir obj 78c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 79c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro$(INV_OBJS_DST) : $(OBJFOLDER)/%.c.o : %.c $(MK_NAME) 80c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro @$(call echo_in_colors, "\n<compile $< to $(OBJFOLDER)/$(notdir $@)>\n") 81c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro $(COMP) $(ANDROID_INCLUDES) $(KERNEL_INCLUDES) $(INV_INCLUDES) $(CFLAGS) -o $@ -c $< 82c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 83c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaroclean : 84c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro rm -fR $(OBJFOLDER) 85c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 86c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccarocleanall : 87c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro rm -fR $(EXEC) $(OBJFOLDER) 88c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 89c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaroinstall : $(EXEC) 90c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro cp -f $(EXEC) $(INSTALL_DIR) 91c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 92c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 93