NDK=/Users/admin/Library/Android/sdk/ndk/30.0.14904198
TOOLCHAIN=$(NDK)/toolchains/llvm/prebuilt/darwin-x86_64
CC=$(TOOLCHAIN)/bin/aarch64-linux-android21-clang
ADB=adb

TARGET=mcu_upgrade_test
BIN_SRC=/Users/admin/workspace/jyq/mcubin/mcu_app.bin

all: $(TARGET)

$(TARGET): mcu_upgrade_test.c
	$(CC) mcu_upgrade_test.c -o $(TARGET) -static -O2
	@echo "\nBuild done: $(TARGET)"
	@ls -lh $(TARGET)

push: $(TARGET)
	$(ADB) push $(TARGET) /data/local/tmp/
	$(ADB) push $(BIN_SRC) /data/local/tmp/mcu_app.bin
	$(ADB) shell chmod +x /data/local/tmp/$(TARGET)
	@echo "\nPushed to device. Run with:"
	@echo "  adb shell /data/local/tmp/$(TARGET)"

run: push
	$(ADB) shell /data/local/tmp/$(TARGET)

clean:
	rm -f $(TARGET) *.o

.PHONY: all push run clean
