xref: /btstack/port/mtk/Makefile (revision 2778f48c986d69b9da0991e2d03680f9a4fbf4b8)
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$(BTSTACK_ROOT)/platform/daemon/src
17CFLAGS += -I$(BTSTACK_ROOT)/platform/posix
18CFLAGS += -I.
19
20VPATH += $(BTSTACK_ROOT)/src
21VPATH += $(BTSTACK_ROOT)/src/ble
22VPATH += $(BTSTACK_ROOT)/src/classic
23VPATH += $(BTSTACK_ROOT)/platform/posix
24VPATH += $(BTSTACK_ROOT)/platform/daemon/src
25VPATH += $(BTSTACK_ROOT)/platform/daemon/example
26
27libBTstack_OBJS  = 		           \
28	btstack.o                      \
29	btstack_linked_list.o          \
30	btstack_run_loop.o             \
31	btstack_run_loop_posix.o       \
32	btstack_util.o 	               \
33	hci_cmd.o                      \
34	daemon_cmds.o                  \
35	hci_dump.o                     \
36	sdp_util.o                     \
37	spp_server.o                   \
38	socket_connection.o            \
39
40BTdaemon_OBJS = $(libBTstack_OBJS) \
41	att_dispatch.o                 \
42	btstack_link_key_db_memory.o   \
43	btstack_memory.o               \
44	btstack_memory_pool.o          \
45	daemon.o 				       \
46	gatt_client.o                  \
47	hci.o                          \
48	hci_transport_h4_mtk.o         \
49	btstack_uart_block_posix.o     \
50	l2cap.o                        \
51	l2cap_signaling.o              \
52	le_device_db_memory.o          \
53	rfcomm.o                       \
54	rfcomm_service_db_hash.o       \
55	sdp_server.o                   \
56	sm.o                           \
57    att_db.o                       \
58    att_server.o                   \
59    sdp_client.o                   \
60    sdp_client_rfcomm.o            \
61
62all: $(TOOLCHAIN) version BTstackDaemon libBTstack.so BTstackDaemonRespawn inquiry le_scan rfcomm_echo dist
63
64dist:
65	rm -f *.o
66
67clean:
68	rm -f BTstackDaemon BTstackDaemonRespawn le_scan inquiry rfcomm_echo *.so *.o
69
70$(TOOLCHAIN):
71	$(NDK)/build/tools/make-standalone-toolchain.sh --install-dir=$@
72
73libbluetoothdrv.so: bluetoothdrv_stub.o
74	$(GCC) $(LDFLAGS) -shared -o libbluetoothdrv.so bluetoothdrv_stub.o
75
76.c.o:
77	$(GCC) $(CFLAGS) -o $@ -c $<
78
79install:
80	./installer.sh
81
82run:
83	$(ADB) shell le_scan
84
85shell:
86	$(ADB) shell
87
88version:
89	$(BTSTACK_ROOT)/tool/get_version.sh
90	grep BTSTACK_DATE $(BTSTACK_ROOT)/platform/daemon/src/btstack_version.h
91
92BTstackDaemon: $(BTdaemon_OBJS) libbluetoothdrv.so
93	$(GCC) $(LDFLAGS) -o $@ libbluetoothdrv.so $^
94
95BTstackDaemonRespawn: BTstackDaemonRespawn.o
96	$(GCC) $(LDFLAGS) -o $@ BTstackDaemonRespawn.o
97
98
99libBTstack.so: $(libBTstack_OBJS)
100	$(GCC) $(LDFLAGS) -shared -Wl,-soname,/system/lib/libBTstack.so -o $@ $^
101
102inquiry: inquiry.o
103	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ inquiry.o
104
105rfcomm_echo: rfcomm_echo.o
106	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ rfcomm_echo.o
107
108le_scan: le_scan.o
109	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ le_scan.o
110
111# minimal_peripheral: minimal_peripheral.o
112# 	$(GCC) $(LDFLAGS) libs/libbluetoothdrv.so  -o $@ minimal_peripheral.o
113
114hci_dump:
115	killall PacketLogger
116	$(ADB) shell su root chmod 666 /data/btstack/hci_dump.pklg
117	$(ADB) pull /data/btstack/hci_dump.pklg 2> /dev/null
118	open hci_dump.pklg
119
120log: hci_dump
121