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