SOURCES =  main.c asr.c mdm.c tty2tcp.c sahara.c tftp.c ymodem.c \
			unisoc.c usb_linux.c ftp.c mtk.c sony.c eigen.c qserver.c \
			cqueue.c asr/rdp_transfer.c asr/usbrdp_api.c

CFLAGS += -Wall -Werror -Wno-unused-function -g -DQLOG_CALL #-DUSE_SHARE_LIB #-s 
LDFLAGS += -lpthread -ldl -lrt 

ifeq ($(CC),cc)
CC=${CROSS_COMPILE}gcc
endif

OUT_DIR := out

linux: check_dir clean 
	${CC} $(CFLAGS) $(SOURCES) -o $(OUT_DIR)/QLog ${LDFLAGS}

share_lib: check_dir clean 
	${CC} $(CFLAGS) $(SOURCES) -fPIC -shared  -o $(OUT_DIR)/QLog.so ${LDFLAGS}

clean:
	rm -rf usbdevices *.exe *.dSYM *.obj *.exp .*o *.lib *~ libs $(OUT_DIR)/QLog $(OUT_DIR)/local android

export USE_NDK=1
NDK_BUILD=/android/android-ndk/android-ndk-r21e/ndk-build
#NDK_BUILD=ndk-build
NDK_PROJECT_PATH=`pwd`
NDK_DEBUG=0
APP_ABI=armeabi-v7a,arm64-v8a#,x86,mips,armeabi-v7a,arm64-v8a,mips64,x86_64
APP_PLATFORM=android-16 #8~2.2 9~2.3 14~4.0 17~4.2 19~4.4 21~5.0 22~5.1 23~6.0 24~6.x
APP_BUILD_SCRIPT=Android.mk
NDK_APPLICATION_MK=Application.mk
NDK_OUT=out

android: clean
	rm -rf android
	$(NDK_BUILD) V=0 NDK_OUT=$(NDK_OUT)  NDK_LIBS_OUT=$(NDK_LIBS_OUT) APP_BUILD_SCRIPT=$(APP_BUILD_SCRIPT) NDK_PROJECT_PATH=$(NDK_PROJECT_PATH) NDK_DEBUG=$(NDK_DEBUG) APP_ABI=$(APP_ABI) APP_PLATFORM=$(APP_PLATFORM)
	#$(NDK_BUILD) V=0 NDK_OUT=$(NDK_OUT)  NDK_APPLICATION_MK=$(NDK_APPLICATION_MK) NDK_LIBS_OUT=$(NDK_LIBS_OUT) APP_BUILD_SCRIPT=$(APP_BUILD_SCRIPT) NDK_PROJECT_PATH=$(NDK_PROJECT_PATH) NDK_DEBUG=$(NDK_DEBUG) APP_ABI=$(APP_ABI) APP_PLATFORM=$(APP_PLATFORM)
	mv libs android

# 检查目录是否存在，如果不存在就创建它
check_dir:
	@if [ ! -d "$(OUT_DIR)" ]; then \
		echo "Directory '$(OUT_DIR)' does not exist. Creating..."; \
		mkdir -p "$(OUT_DIR)"; \
	else \
		echo "Directory '$(OUT_DIR)' already exists."; \
	fi