build: Fixing Android build now that the core library uses i18n.
[barry.git] / android / jni / Android.mk
blobcdc83b624aa5ce637b60b37fb41553f5e5c7a97e
1 # Android.mk
2 # This file is the main body of the instructions for how to build one or more native
3 # libraries for Android using the NDK build system.
5 LOCAL_PATH:= $(call my-dir)
6 BARRY_ROOT:= $(LOCAL_PATH)/../../
8 ###############
9 # libiconv.so #
10 ###############
11 include $(CLEAR_VARS)
13 LIBICONV_NAME=libiconv-1.13.1
15 LOCAL_SRC_FILES := \
16 ../$(LIBICONV_NAME)/lib/iconv.c \
17 ../$(LIBICONV_NAME)/lib/relocatable.c \
18 ../$(LIBICONV_NAME)/libcharset/lib/localcharset.c
20 LOCAL_C_INCLUDES += \
21 $(LOCAL_PATH)/libiconv \
22 $(LIBICONV_NAME)/include \
23 $(LIBICONV_NAME)/lib \
24 $(LIBICONV_NAME)/libcharset/include \
25 $(LIBICONV_NAME)/libcharset \
26 $(LIBICONV_NAME)/srclib
28 LOCAL_CFLAGS += -DBUILDING_LIBICONV -DBUILDING_LIBICONV -DIN_LIBRARY -DLIBDIR=\"\"
30 LOCAL_EXPORT_C_INCLUDES := \
31 $(LOCAL_PATH)/../$(LIBICONV_NAME)/include
33 $(info Checking if libiconv needs configuring...)
34 COMMAND := $(shell \
35 export PATH=$$ANDROID_TOOLCHAIN_DIR/bin:$$PATH; \
36 cd $(LOCAL_PATH)/../$(LIBICONV_NAME); \
37 test -e config.h || CC=arm-linux-androideabi-gcc ./configure --host="arm-linux" > configure_run.log 2>&1 )
39 LOCAL_MODULE := libiconv
41 include $(BUILD_SHARED_LIBRARY)
43 ################
44 # libusb1.0.so #
45 ################
46 include $(CLEAR_VARS)
48 LIBUSB_NAME=libusb-1.0.8
50 LOCAL_SRC_FILES := \
51 ../$(LIBUSB_NAME)/libusb/core.c \
52 ../$(LIBUSB_NAME)/libusb/descriptor.c \
53 ../$(LIBUSB_NAME)/libusb/io.c \
54 ../$(LIBUSB_NAME)/libusb/sync.c \
55 ../$(LIBUSB_NAME)/libusb/os/linux_usbfs.c
57 LOCAL_C_INCLUDES += \
58 $(LOCAL_PATH)/libusb \
59 $(LIBUSB_NAME)/libusb/ \
60 $(LIBUSB_NAME)/libusb/os/
62 LOCAL_EXPORT_C_INCLUDES := \
63 $(LOCAL_PATH)/../$(LIBUSB_NAME)/libusb
65 LOCAL_MODULE := libusb1.0
67 include $(BUILD_SHARED_LIBRARY)
69 #########
70 # lsusb #
71 #########
72 include $(CLEAR_VARS)
74 LOCAL_SRC_FILES := \
75 ../$(LIBUSB_NAME)/examples/lsusb.c
77 LOCAL_C_INCLUDES += \
78 $(LOCAL_PATH)/../$(LIBUSB_NAME)
80 LOCAL_SHARED_LIBRARIES += libusb1.0
82 LOCAL_MODULE:= lsusb
83 include $(BUILD_EXECUTABLE)
85 ###############
86 # libbarry.so #
87 ###############
88 include $(CLEAR_VARS)
90 BARRY_SRC_TO_INCLUDE := \
91 $(subst $(LOCAL_PATH)/,, \
92 $(wildcard $(LOCAL_PATH)/barry_root/src/*.cc) \
95 BARRY_SRC_TO_EXCLUDE := \
96 $(subst $(LOCAL_PATH)/,, \
97 $(wildcard $(LOCAL_PATH)/barry_root/src/a_*.cc) \
98 $(wildcard $(LOCAL_PATH)/barry_root/src/dp_*.cc) \
99 $(wildcard $(LOCAL_PATH)/barry_root/src/j_*.cc) \
100 $(wildcard $(LOCAL_PATH)/barry_root/src/v*.cc) \
102 barry_root/src/mimeio.cc \
103 barry_root/src/xmlparser.cc \
104 barry_root/src/tzwrapper.cc \
105 barry_root/src/tarfile.cc \
106 barry_root/src/tarfile-ops-nt.cc \
107 barry_root/src/backup.cc \
108 barry_root/src/iconvwin.cc \
109 barry_root/src/restore.cc \
110 barry_root/src/usbwrap_libusb.cc \
111 barry_root/src/configfilewin32.cc
113 LOCAL_SRC_FILES:= $(filter-out $(BARRY_SRC_TO_EXCLUDE), $(BARRY_SRC_TO_INCLUDE)) barry_root/src/version.cc
114 LOCAL_C_INCLUDES += \
115 $(LOCAL_PATH)/barry \
116 $(LOCAL_PATH)/../$(LIBUSB_NAME)/libusb
118 LOCAL_CFLAGS += -D__BARRY_LIBRARY_BUILD__ -DLOCALEDIR=\"\"
120 LOCAL_EXPORT_C_INCLUDES := \
121 $(LOCAL_PATH)/barry
123 LOCAL_CPP_EXTENSION := .cc
124 LOCAL_SHARED_LIBRARIES += libusb1.0 libiconv
125 LOCAL_LDLIBS := -lz
127 LOCAL_MODULE := libbarry
129 # Have to build libbarry statically as libstdc++ is statically linked in
130 include $(BUILD_STATIC_LIBRARY)
132 #########
133 # tools #
134 #########
135 TOOLS=brawchannel btool bidentify bjavaloader bjvmdebug upldif bktrans pppob brecsum
137 $(foreach TOOL, $(TOOLS), $(eval include $(LOCAL_PATH)/BarryTool.mk))
139 ###########
140 # bcharge #
141 ###########
142 include $(CLEAR_VARS)
144 LOCAL_SRC_FILES := barry_root/tools/bcharge_libusb_1_0.cc
146 LOCAL_CFLAGS += -DLOCALEDIR=\"\"
147 LOCAL_CPP_EXTENSION := .cc
148 LOCAL_C_INCLUDES += \
149 $(LOCAL_PATH)/barry
151 LOCAL_SHARED_LIBRARIES += libusb1.0
153 LOCAL_MODULE := bcharge
155 include $(BUILD_EXECUTABLE)
157 ###########
158 # breset #
159 ###########
160 include $(CLEAR_VARS)
162 LOCAL_SRC_FILES := barry_root/tools/breset_libusb_1_0.cc
164 LOCAL_CFLAGS += -DLOCALEDIR=\"\"
165 LOCAL_CPP_EXTENSION := .cc
166 LOCAL_C_INCLUDES += \
167 $(LOCAL_PATH)/barry
169 LOCAL_SHARED_LIBRARIES += libusb1.0
171 LOCAL_MODULE := breset
173 include $(BUILD_EXECUTABLE)