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