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 88caefee3SMatthias RingwaldCFLAGS = -march=armv7-a -mfloat-abi=softfp -I$(SYSROOT)/usr/include 98caefee3SMatthias RingwaldLDFLAGS = -Wl,--fix-cortex-a8 -L$(SYSROOT)/usr/lib 108caefee3SMatthias Ringwald 118caefee3SMatthias RingwaldBTSTACK_ROOT = ../.. 128caefee3SMatthias Ringwald 138caefee3SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/include 148caefee3SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/src/ 158caefee3SMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/ble 16204f664bSMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/platform/daemon 17dd9e275cSMatthias RingwaldCFLAGS += -I$(BTSTACK_ROOT)/platform/posix 188caefee3SMatthias RingwaldCFLAGS += -I. 198caefee3SMatthias Ringwald 208caefee3SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/src 213edc84c5SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/src/ble 223edc84c5SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/src/classic 23dd9e275cSMatthias RingwaldVPATH += $(BTSTACK_ROOT)/platform/posix 24204f664bSMatthias RingwaldVPATH += $(BTSTACK_ROOT)/platform/daemon 258caefee3SMatthias RingwaldVPATH += $(BTSTACK_ROOT)/example/daemon 268caefee3SMatthias Ringwald 278caefee3SMatthias RingwaldlibBTstack_OBJS = \ 288f2a52f4SMatthias Ringwald btstack.o \ 298f2a52f4SMatthias Ringwald btstack_linked_list.o \ 308f2a52f4SMatthias Ringwald btstack_run_loop.o \ 31*8f1b6c71SMatthias Ringwald btstack_run_loop_posix.o \ 3256042629SMatthias Ringwald hci_cmd.o \ 338caefee3SMatthias Ringwald hci_dump.o \ 348caefee3SMatthias Ringwald sdp_util.o \ 358caefee3SMatthias Ringwald socket_connection.o \ 368f2a52f4SMatthias Ringwald utils.o \ 378caefee3SMatthias Ringwald 388caefee3SMatthias RingwaldBTdaemon_OBJS = $(libBTstack_OBJS) \ 398caefee3SMatthias Ringwald att_dispatch.o \ 408caefee3SMatthias Ringwald le_device_db_memory.o \ 418caefee3SMatthias Ringwald att.o \ 428caefee3SMatthias Ringwald att_server.o \ 438caefee3SMatthias Ringwald gatt_client.o \ 448caefee3SMatthias Ringwald sm.o \ 458caefee3SMatthias Ringwald btstack_memory.o \ 468caefee3SMatthias Ringwald hci.o \ 478caefee3SMatthias Ringwald l2cap.o \ 488caefee3SMatthias Ringwald l2cap_signaling.o \ 498caefee3SMatthias Ringwald memory_pool.o \ 508caefee3SMatthias Ringwald remote_device_db_memory.o \ 518caefee3SMatthias Ringwald rfcomm.o \ 528caefee3SMatthias Ringwald sdp.o \ 538caefee3SMatthias Ringwald sdp_client.o \ 548caefee3SMatthias Ringwald sdp_parser.o \ 558caefee3SMatthias Ringwald sdp_query_rfcomm.o \ 568caefee3SMatthias Ringwald sdp_query_util.o \ 578caefee3SMatthias Ringwald daemon.o \ 588caefee3SMatthias Ringwald hci_transport_h4_mtk.o \ 598caefee3SMatthias Ringwald 608caefee3SMatthias Ringwaldall: $(TOOLCHAIN) version BTstackDaemon libBTstack.so BTstackDaemonRespawn inquiry le_scan rfcomm-echo dist 618caefee3SMatthias Ringwald 628caefee3SMatthias Ringwalddist: 638caefee3SMatthias Ringwald rm -f *.o 648caefee3SMatthias Ringwald 658caefee3SMatthias Ringwaldclean: 668caefee3SMatthias Ringwald rm -f BTstackDaemon BTstackDaemonRespawn le_scan inquiry rfcomm-echo *.so *.o 678caefee3SMatthias Ringwald 688caefee3SMatthias Ringwald$(TOOLCHAIN): 698caefee3SMatthias Ringwald $(NDK)/build/tools/make-standalone-toolchain.sh --install-dir=$@ 708caefee3SMatthias Ringwald 71*8f1b6c71SMatthias Ringwaldlibbluetoothdrv.so: bluetoothdrv_stub.o 72*8f1b6c71SMatthias Ringwald $(GCC) $(LDFLAGS) -shared -o libbluetoothdrv.so bluetoothdrv_stub.o 738caefee3SMatthias Ringwald 748caefee3SMatthias Ringwald.c.o: 758caefee3SMatthias Ringwald $(GCC) $(CFLAGS) -o $@ -c $< 768caefee3SMatthias Ringwald 778caefee3SMatthias Ringwaldinstall: 788caefee3SMatthias Ringwald ./installer.sh 798caefee3SMatthias Ringwald 808caefee3SMatthias Ringwaldrun: 818caefee3SMatthias Ringwald $(ADB) shell le_scan 828caefee3SMatthias Ringwald 838caefee3SMatthias Ringwaldshell: 848caefee3SMatthias Ringwald $(ADB) shell 858caefee3SMatthias Ringwald 868caefee3SMatthias Ringwaldversion: 873edc84c5SMatthias Ringwald $(BTSTACK_ROOT)/tool/get_version.sh 88e9e0704fSMatthias Ringwald grep BTSTACK_DATE $(BTSTACK_ROOT)/src/btstack_version.h 898caefee3SMatthias Ringwald 908caefee3SMatthias RingwaldBTstackDaemon: $(BTdaemon_OBJS) libbluetoothdrv.so 918caefee3SMatthias Ringwald $(GCC) $(LDFLAGS) -o $@ libbluetoothdrv.so $^ 928caefee3SMatthias Ringwald 938caefee3SMatthias RingwaldBTstackDaemonRespawn: BTstackDaemonRespawn.o 948caefee3SMatthias Ringwald $(GCC) $(LDFLAGS) -o $@ BTstackDaemonRespawn.o 958caefee3SMatthias Ringwald 968caefee3SMatthias Ringwald 978caefee3SMatthias RingwaldlibBTstack.so: $(libBTstack_OBJS) 988caefee3SMatthias Ringwald $(GCC) $(LDFLAGS) -shared -Wl,-soname,/system/lib/libBTstack.so -o $@ $^ 998caefee3SMatthias Ringwald 1008caefee3SMatthias Ringwaldinquiry: inquiry.o 1018caefee3SMatthias Ringwald $(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ inquiry.o 1028caefee3SMatthias Ringwald 1038caefee3SMatthias Ringwaldrfcomm-echo: rfcomm-echo.o 1048caefee3SMatthias Ringwald $(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ rfcomm-echo.o 1058caefee3SMatthias Ringwald 1068caefee3SMatthias Ringwaldle_scan: le_scan.o 1078caefee3SMatthias Ringwald $(GCC) $(LDFLAGS) -Wl,-rpath,/system/lib libBTstack.so -o $@ le_scan.o 1088caefee3SMatthias Ringwald 1098caefee3SMatthias Ringwald# minimal_peripheral: minimal_peripheral.o 1108caefee3SMatthias Ringwald# $(GCC) $(LDFLAGS) libs/libbluetoothdrv.so -o $@ minimal_peripheral.o 1118caefee3SMatthias Ringwald 1128caefee3SMatthias Ringwaldhci_dump: 1138caefee3SMatthias Ringwald killall PacketLogger 1148caefee3SMatthias Ringwald $(ADB) shell su root chmod 666 /data/btstack/hci_dump.pklg 1158caefee3SMatthias Ringwald $(ADB) pull /data/btstack/hci_dump.pklg 2> /dev/null 1168caefee3SMatthias Ringwald open hci_dump.pklg 1178caefee3SMatthias Ringwald 1188caefee3SMatthias Ringwaldlog: hci_dump 119