TARGET_CA_NAME=fidoauthnr_test

### 32-bit Setting
CONFIG_NW_TOOLCHAIN_PREFIX=$(NDK_PATH)/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
CONFIG_NW_SYSROOT=$(NDK_PATH)/platforms/android-21/arch-arm/
CONFIG_NW_TARGET=ARM

### 64-bit Setting
#CONFIG_NW_TOOLCHAIN_PREFIX    = $(NDK_PATH)/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-
#CONFIG_NW_SYSROOT    = $(NDK_PATH)/platforms/android-21/arch-arm64/
#CONFIG_NW_TARGET = AARCH64

CUR_DIR		= $(PWD)
SRC_DIR		:= $(CUR_DIR)/../src
OUT_DIR		:= $(CUR_DIR)/out
OUTPUT	    := $(OUT_DIR)/$(TARGET_CA_NAME)
CLIENT_API 	:= $(TEEGRIS_SDK_PATH)/nw_libs
NORMAL_SYSROOT = $(CONFIG_NW_SYSROOT)
CC		:= $(CONFIG_NW_TOOLCHAIN_PREFIX)gcc
CFLAGS := \
    -ggdb -DTARGET=$(CONFIG_NW_TARGET) -DUSE_BLOWFISH \
	-O2 \
	-Wall -Wextra \
    -D__ANDROID__ \
    -fPIE -pie

INCLUDE_DIRS = \
	$(CLIENT_API) \
    $(SRC_DIR) \
    $(SRC_DIR)/../../tlcauthnr/src/inc
INCS = $(INCLUDE_DIRS:%=-I%)
$(info "inc:" $(INCS))

C_SRCS = \
    $(SRC_DIR)/tlc_testmain.cpp

ifeq ($(CONFIG_NW_TARGET),ARM)
LIB_PATH	:= $(TEEGRIS_SDK_PATH)/nw_libs/lib
CFLAGS += -march=armv7-a
else ifeq ($(CONFIG_NW_TARGET),AARCH64)
LIB_PATH	:= $(TEEGRIS_SDK_PATH)/nw_libs/lib64
CFLAGS += -march=armv8-a
endif

ifeq ($(CONFIG_DEBUG),on)
CFLAGS += -g3
endif

LIBS := \
	-lteecl \
	-lgcc \
	-llog \
	-lm \
    -L$(DIST_DIR) -lfidoauthnr

.PHONY: all
all: clean make_out $(OUTPUT) copy_dist

$(OUTPUT): $(C_SRCS)
	$(CC) $(CFLAGS) -o $@ --sysroot=$(NORMAL_SYSROOT) -L$(LIB_PATH) $(LIBS) $(INCS) $(C_SRCS)

.PHONY: make_out
make_out:
	$(MKDIR) $(OUT_DIR)

.PHONY: copy_dist
copy_dist:
	$(CP) $(OUTPUT) $(DIST_DIR)

.PHONY: clean
clean:
	$(RM) $(OUT_DIR)
