#CC=gcc
#CXX=g++

FLAGS = \
    -g \
    -Wall \
    -D __YOCTO_OS__ \
    -D __LBS_EM_OS_LINUX__\


INCLUDE = \
    -I$(BB_SYSROOT_ADD)/usr/include/openssl \
    -I$(BB_SYSROOT_ADD)/usr/include/openssl/include \
    -I$(BB_SYSROOT_ADD)/usr/include/openssl/crypto \
    -I./mtk_tree/inc \
    -I./agps_interface/inc \
    -I./agps_interface/cfg/inc \
    -I./agps_interface/cfg/libs/mtkexpat \
    -I./agps_debug_interface/inc \
    -I./mnldinf/inc/ \
    -I./mtk_gnss_at_command \
    -I./nlp/inc \
    -I./utility/inc \


LIBS = \
    -lrt \
    -lpthread \
    -lssl \
    -lcrypto \
    -lexpat \
    -llog \
#    -lagps_interface \


EM_CXXSRC = \

EM_CSRC = \
    ./mtk_tree/src/mtk_tree.c \
    \
    ./agps_interface/src/agps_interface.c \
    ./agps_interface/src/data_coder.c \
    ./agps_interface/cfg/src/agpsprofile.c \
    ./agps_interface/cfg/libs/mtkexpat/mtkexpat.c \
    \
    ./agps_debug_interface/src/agps_debug_interface.c \
    \
    ./mnldinf/src/mnldinf_basic.c \
    ./mnldinf/src/mnldinf_data_coder.c \
    ./mnldinf/src/mnldinf_ext.c \
    ./mnldinf/src/mnldinf_log.c \
    ./mnldinf/src/mnldinf_utility.c \
    \
    ./mtk_gnss_at_command/mtk_gnss_at_struct.c \
    ./mtk_gnss_at_command/mtk_gnss_at_client.c \
    \
    ./nlp/src/MtkNlp.c \
    \
    ./utility/src/mtk_socket_data_coder.c \
    ./utility/src/mtk_socket_utils.c \
    ./utility/src/mtk_lbs_utility.c \
    \
    ./lbs_em.c \

EM_EXECUTABLE = lbs_em_tool
EM_COBJS = $(EM_CSRC:.c=.o)
EM_CXXOBJS = $(EM_CXXSRC:.cpp=.o)

#AGPS_INTERFACE_LIB_TARGET = libagps_interface.so
#AGPS_INTERFACE_LIB_SRC = ./agps_interface

TEST_CXXSRC = \

TEST_CSRC = \
    ./agps_interface/src/agps_interface.c \
    ./agps_interface/src/data_coder.c \
    ./agps_interface/cfg/src/agpsprofile.c \
    ./agps_interface/cfg/libs/mtkexpat/mtkexpat.c \
    \
    ./utility/src/mtk_lbs_utility.c \
    \
    ./mtk_agps_test_case.c \

TEST_EXECUTABLE = mtk_agps_test_case
TEST_COBJS = $(TEST_CSRC:.c=.o)
TEST_CXXOBJS = $(TEST_CXXSRC:.cpp=.o)

CFLAGS +=  $(FLAGS) $(INCLUDE)
CXXFLAGS += $(FLAGS) $(INCLUDE)

#all: $(AGPS_INTERFACE_LIB_TARGET) $(EM_EXECUTABLE)
all: $(EM_EXECUTABLE) $(TEST_EXECUTABLE)

$(EM_EXECUTABLE): $(EM_COBJS) $(EM_CXXOBJS)
	$(CXX) $^ $(LIBS) $(LDFLAGS) -o $@
#	$(CXX) $^ $(LIBS) $(LDFLAGS) -L$(AGPS_INTERFACE_LIB_SRC) -o $@

#$(AGPS_INTERFACE_LIB_TARGET): $(AGPS_INTERFACE_LIB_SRC)
#	make -C $(AGPS_INTERFACE_LIB_SRC)

$(TEST_EXECUTABLE): $(TEST_COBJS) $(TEST_CXXOBJS)
	$(CXX) $^ $(LIBS) $(LDFLAGS) -o $@

.PHONY: clean

clean:
	rm -f $(EM_EXECUTABLE) rm -rf *.o
#	rm -f $(EM_EXECUTABLE) $(AGPS_INTERFACE_LIB_TARGET) rm -rf *.o
	find ./ -name *.o | xargs rm -rf