xref: /btstack/port/mtk/Makefile (revision 6ee5ced060c0dc28161b70d1d2789d69d3d8cc25)
18caefee3SMatthias Ringwald# Toolchain config
28caefee3SMatthias RingwaldNDK = /Projects/Android/android-ndk-r10d
38caefee3SMatthias RingwaldADB = adb
48caefee3SMatthias RingwaldTOOLCHAIN = /usr/local/android-ndk
58caefee3SMatthias RingwaldSYSROOT = $(TOOLCHAIN)/sysroot
68caefee3SMatthias RingwaldGCC = $(TOOLCHAIN)/bin/arm-linux-androideabi-gcc
78caefee3SMatthias RingwaldSTRIP = $(TOOLCHAIN)/bin/arm-linux-androideabi-strip
8b81e1fecSMatthias RingwaldCFLAGS = -march=armv7-a -mfloat-abi=softfp -I$(SYSROOT)/usr/include -fpie -fpic -fPIE -pie#
9b81e1fecSMatthias RingwaldLDFLAGS = -Wl,--fix-cortex-a8 -L$(SYSROOT)/usr/lib -fpie -fpic -fPIE -pie
108caefee3SMatthias Ringwald
11f67eb7c2SMatthias RingwaldBTSTACK_ROOT ?= ../..
128caefee3SMatthias Ringwald
138caefee3SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/include
148caefee3SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/src/
158caefee3SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/ble
162531c97eSMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/platform/daemon/src
17dd9e275cSMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/platform/posix
18c2cab3feSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/include
19c2cab3feSMatthias RingwaldCFLAGS += -I${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/include
20046d2a34SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/3rd-party/md5
21d545aea0SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/3rd-party/micro-ecc
22d545aea0SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/3rd-party/rijndael
23745e7a2fSMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/3rd-party/yxml
248caefee3SMatthias RingwaldCFLAGS += -I.
258caefee3SMatthias Ringwald
268caefee3SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/src
273edc84c5SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/src/ble
283edc84c5SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/src/classic
29dd9e275cSMatthias RingwaldVPATH += $(BTSTACK_ROOT)/platform/posix
302531c97eSMatthias RingwaldVPATH += $(BTSTACK_ROOT)/platform/daemon/src
312531c97eSMatthias RingwaldVPATH += $(BTSTACK_ROOT)/platform/daemon/example
32046d2a34SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/3rd-party/md5
338caefee3SMatthias Ringwald
348caefee3SMatthias RingwaldlibBTstack_OBJS  = 		           \
358f2a52f4SMatthias Ringwald	btstack.o                      \
368f2a52f4SMatthias Ringwald	btstack_linked_list.o          \
378f2a52f4SMatthias Ringwald	btstack_run_loop.o             \
38c31f2371SMatthias Ringwald	btstack_run_loop_base.o        \
398f1b6c71SMatthias Ringwald	btstack_run_loop_posix.o       \
40e07b53a6SMatthias Ringwald    btstack_tlv.o                  \
412531c97eSMatthias Ringwald	btstack_util.o 	               \
4256042629SMatthias Ringwald	hci_cmd.o                      \
43*6ee5ced0SMatthias Ringwald	hci_event_builder.o            \
442531c97eSMatthias Ringwald	daemon_cmds.o                  \
458caefee3SMatthias Ringwald	hci_dump.o                     \
467435ec7bSMatthias Ringwald	hci_dump_posix_fs.o            \
478caefee3SMatthias Ringwald	sdp_util.o                     \
4896dc834dSMatthias Ringwald	spp_server.o                   \
498caefee3SMatthias Ringwald	socket_connection.o            \
508caefee3SMatthias Ringwald
518caefee3SMatthias RingwaldBTdaemon_OBJS = $(libBTstack_OBJS) \
5249232d5cSMatthias Ringwald	ad_parser.o 			       \
538caefee3SMatthias Ringwald	att_dispatch.o                 \
54046d2a34SMatthias Ringwald	btstack_link_key_db_tlv.o      \
558caefee3SMatthias Ringwald	btstack_memory.o               \
562531c97eSMatthias Ringwald	btstack_memory_pool.o          \
57046d2a34SMatthias Ringwald	btstack_tlv.o       		   \
58046d2a34SMatthias Ringwald	btstack_tlv_posix.o 		   \
59a0eb57daSMatthias Ringwald	btstack_crypto.o               \
602531c97eSMatthias Ringwald	daemon.o 				       \
612531c97eSMatthias Ringwald	gatt_client.o                  \
628caefee3SMatthias Ringwald	hci.o                          \
632531c97eSMatthias Ringwald	hci_transport_h4_mtk.o         \
64793a0509SMatthias Ringwald	btstack_uart_posix.o           \
658caefee3SMatthias Ringwald	l2cap.o                        \
668caefee3SMatthias Ringwald	l2cap_signaling.o              \
67046d2a34SMatthias Ringwald	le_device_db_tlv.o             \
68046d2a34SMatthias Ringwald	md5.o                          \
698caefee3SMatthias Ringwald	rfcomm.o                       \
702531c97eSMatthias Ringwald	rfcomm_service_db_hash.o       \
712531c97eSMatthias Ringwald	sdp_server.o                   \
722531c97eSMatthias Ringwald	sm.o                           \
732531c97eSMatthias Ringwald    att_db.o                       \
742531c97eSMatthias Ringwald    att_server.o                   \
758caefee3SMatthias Ringwald    sdp_client.o                   \
76efda0b48SMatthias Ringwald    sdp_client_rfcomm.o            \
778caefee3SMatthias Ringwald
78d6549a6eSMatthias Ringwaldall: $(TOOLCHAIN) version BTstackDaemon libBTstack.so BTstackDaemonRespawn inquiry le_scan rfcomm_echo dist
798caefee3SMatthias Ringwald
808caefee3SMatthias Ringwalddist:
818caefee3SMatthias Ringwald	rm -f *.o
828caefee3SMatthias Ringwald
838caefee3SMatthias Ringwaldclean:
84d6549a6eSMatthias Ringwald	rm -f BTstackDaemon BTstackDaemonRespawn le_scan inquiry rfcomm_echo *.so *.o
858caefee3SMatthias Ringwald
868caefee3SMatthias Ringwald$(TOOLCHAIN):
878caefee3SMatthias Ringwald	$(NDK)/build/tools/make-standalone-toolchain.sh --install-dir=$@
888caefee3SMatthias Ringwald
898f1b6c71SMatthias Ringwaldlibbluetoothdrv.so: bluetoothdrv_stub.o
908f1b6c71SMatthias Ringwald	$(GCC) $(LDFLAGS) -shared -o libbluetoothdrv.so bluetoothdrv_stub.o
918caefee3SMatthias Ringwald
928caefee3SMatthias Ringwald.c.o:
938caefee3SMatthias Ringwald	$(GCC) $(CFLAGS) -o $@ -c $<
948caefee3SMatthias Ringwald
958caefee3SMatthias Ringwaldinstall:
968caefee3SMatthias Ringwald	./installer.sh
978caefee3SMatthias Ringwald
988caefee3SMatthias Ringwaldrun:
998caefee3SMatthias Ringwald	$(ADB) shell le_scan
1008caefee3SMatthias Ringwald
1018caefee3SMatthias Ringwaldshell:
1028caefee3SMatthias Ringwald	$(ADB) shell
1038caefee3SMatthias Ringwald
1048caefee3SMatthias Ringwaldversion:
1053edc84c5SMatthias Ringwald	$(BTSTACK_ROOT)/tool/get_version.sh
1062531c97eSMatthias Ringwald	grep BTSTACK_DATE $(BTSTACK_ROOT)/platform/daemon/src/btstack_version.h
1078caefee3SMatthias Ringwald
1088caefee3SMatthias RingwaldBTstackDaemon: $(BTdaemon_OBJS) libbluetoothdrv.so
1098caefee3SMatthias Ringwald	$(GCC) $(LDFLAGS) -o $@ libbluetoothdrv.so $^
1108caefee3SMatthias Ringwald
1118caefee3SMatthias RingwaldBTstackDaemonRespawn: BTstackDaemonRespawn.o
1128caefee3SMatthias Ringwald	$(GCC) $(LDFLAGS) -o $@ BTstackDaemonRespawn.o
1138caefee3SMatthias Ringwald
1148caefee3SMatthias Ringwald
1158caefee3SMatthias RingwaldlibBTstack.so: $(libBTstack_OBJS)
1168caefee3SMatthias Ringwald	$(GCC) $(LDFLAGS) -shared -Wl,-soname,/system/lib/libBTstack.so -o $@ $^
1178caefee3SMatthias Ringwald
1188caefee3SMatthias Ringwaldinquiry: inquiry.o
1198caefee3SMatthias Ringwald	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ inquiry.o
1208caefee3SMatthias Ringwald
121d6549a6eSMatthias Ringwaldrfcomm_echo: rfcomm_echo.o
122d6549a6eSMatthias Ringwald	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ rfcomm_echo.o
1238caefee3SMatthias Ringwald
1248caefee3SMatthias Ringwaldle_scan: le_scan.o
1258caefee3SMatthias Ringwald	$(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ le_scan.o
1268caefee3SMatthias Ringwald
1278caefee3SMatthias Ringwald# minimal_peripheral: minimal_peripheral.o
1288caefee3SMatthias Ringwald# 	$(GCC) $(LDFLAGS) libs/libbluetoothdrv.so  -o $@ minimal_peripheral.o
1298caefee3SMatthias Ringwald
1308caefee3SMatthias Ringwaldhci_dump:
1318caefee3SMatthias Ringwald	killall PacketLogger
1328caefee3SMatthias Ringwald	$(ADB) shell su root chmod 666 /data/btstack/hci_dump.pklg
1338caefee3SMatthias Ringwald	$(ADB) pull /data/btstack/hci_dump.pklg 2> /dev/null
1348caefee3SMatthias Ringwald	open hci_dump.pklg
1358caefee3SMatthias Ringwald
1368caefee3SMatthias Ringwaldlog: hci_dump
137