xref: /btstack/port/mtk/Makefile (revision 8caefee39d444df6d8908a96a844825f10fbdaa4)
1# Toolchain config
2NDK = /Projects/Android/android-ndk-r10d
3ADB = adb
4TOOLCHAIN = /usr/local/android-ndk
5SYSROOT = $(TOOLCHAIN)/sysroot
6GCC = $(TOOLCHAIN)/bin/arm-linux-androideabi-gcc
7STRIP = $(TOOLCHAIN)/bin/arm-linux-androideabi-strip
8CFLAGS = -march=armv7-a -mfloat-abi=softfp -I$(SYSROOT)/usr/include
9LDFLAGS = -Wl,--fix-cortex-a8 -L$(SYSROOT)/usr/lib
10
11BTSTACK_ROOT = ../..
12
13CFLAGS += -I$(BTSTACK_ROOT)/include
14CFLAGS += -I$(BTSTACK_ROOT)/src/
15CFLAGS += -I$(BTSTACK_ROOT)/ble
16CFLAGS += -I.
17
18VPATH += $(BTSTACK_ROOT)/src
19VPATH += $(BTSTACK_ROOT)/ble
20VPATH += $(BTSTACK_ROOT)/platforms/posix/src
21VPATH += $(BTSTACK_ROOT)/platforms/daemon/src
22VPATH += $(BTSTACK_ROOT)/example/daemon
23
24libBTstack_OBJS  = 		 \
25	hci_cmds.o           \
26	hci_dump.o           \
27	linked_list.o        \
28	run_loop.o           \
29	sdp_util.o           \
30	utils.o 		     \
31	btstack.o            \
32	run_loop_posix.o     \
33	socket_connection.o  \
34
35BTdaemon_OBJS = $(libBTstack_OBJS)   \
36	att_dispatch.o              \
37	le_device_db_memory.o        \
38    att.o                       \
39    att_server.o                \
40	gatt_client.o               \
41	sm.o                        \
42	btstack_memory.o            \
43	hci.o                       \
44	l2cap.o                     \
45	l2cap_signaling.o           \
46	memory_pool.o               \
47	remote_device_db_memory.o   \
48	rfcomm.o                    \
49	sdp.o                       \
50    sdp_client.o                \
51    sdp_parser.o                \
52    sdp_query_rfcomm.o          \
53    sdp_query_util.o            \
54	daemon.o 				    \
55	hci_transport_h4_mtk.o      \
56
57all: $(TOOLCHAIN) version BTstackDaemon libBTstack.so BTstackDaemonRespawn inquiry le_scan rfcomm-echo dist
58
59dist:
60	rm -f *.o
61
62clean:
63	rm -f BTstackDaemon BTstackDaemonRespawn le_scan inquiry rfcomm-echo *.so *.o
64
65$(TOOLCHAIN):
66	$(NDK)/build/tools/make-standalone-toolchain.sh --install-dir=$@
67
68libbluetoothdrv.so: bluetoothdrv-stub.o
69	$(GCC) $(LDFLAGS) -shared -o libbluetoothdrv.so bluetoothdrv-stub.o
70
71.c.o:
72	$(GCC) $(CFLAGS) -o $@ -c $<
73
74install:
75	./installer.sh
76
77run:
78	$(ADB) shell le_scan
79
80shell:
81	$(ADB) shell
82
83version:
84	$(BTSTACK_ROOT)/tools/get_version.sh
85	grep BTSTACK_DATE $(BTSTACK_ROOT)/src/version.h
86
87BTstackDaemon: $(BTdaemon_OBJS) libbluetoothdrv.so
88	$(GCC) $(LDFLAGS) -o $@ libbluetoothdrv.so $^
89
90BTstackDaemonRespawn: BTstackDaemonRespawn.o
91	$(GCC) $(LDFLAGS) -o $@ BTstackDaemonRespawn.o
92
93
94libBTstack.so: $(libBTstack_OBJS)
95	$(GCC) $(LDFLAGS) -shared -Wl,-soname,/system/lib/libBTstack.so -o $@ $^
96
97inquiry: inquiry.o
98	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ inquiry.o
99
100rfcomm-echo: rfcomm-echo.o
101	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ rfcomm-echo.o
102
103le_scan: le_scan.o
104	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ le_scan.o
105
106# minimal_peripheral: minimal_peripheral.o
107# 	$(GCC) $(LDFLAGS) libs/libbluetoothdrv.so  -o $@ minimal_peripheral.o
108
109hci_dump:
110	killall PacketLogger
111	$(ADB) shell su root chmod 666 /data/btstack/hci_dump.pklg
112	$(ADB) pull /data/btstack/hci_dump.pklg 2> /dev/null
113	open hci_dump.pklg
114
115log: hci_dump
116