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