GPP      ?= $(CROSS_PREFIX)g++
LIB_NAME :=
RT_ROOT  ?= ../../
RT_OUT   ?= ../../output
OBJ_DIR  := ./obj
BIN_DIR  := $(RT_OUT)/bin
KL2_RT_EN ?= 0

INC      := -I. -I$(RT_ROOT)/api -I$(RT_ROOT)/include -I$(RT_ROOT)/pcida
LDFLAGS  := -L$(RT_OUT)/lib
CFLAGS   := -fPIC -O2 -g -Wall -fpermissive -std=c++11

ifdef CROSS_SYSROOT
CFLAGS += --sysroot=$(CROSS_SYSROOT)
endif

ifdef XDEBUG
CFLAGS  += -DXDEBUG
LDFLAGS += -lxpurt-debug
else
LDFLAGS += -lxpurt
endif

ifeq ($(KL2_RT_EN), 1)
	LDFLAGS += -DKL2_RT -lssl -lcrypto
	#LDFLAGS += -DKL2_RT -I/usr/local/openssl/include -L/usr/local/openssl/lib -lssl -lcrypto
endif

LDFLAGS += -lpcida -ldl -lpthread

src=$(wildcard *.cpp)

all: $(BIN_DIR)/xpu_smi dirmake

$(BIN_DIR)/xpu_smi: $(src)
	@echo src= $(src)
	$(GPP) $(INC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

dirmake:
	@mkdir -p $(BIN_DIR)

clean:
	rm -f $(BIN_DIR)/xpu_smi
