TARGET := atcid

FLAGS += -DMTK_GPS_FEATURE

$(warning ################# warren LYNQ_ATSVC_SUPPORT: $(LYNQ_ATSVC_SUPPORT))
ifeq ($(strip $(LYNQ_ATSVC_SUPPORT)), yes)
    FLAGS += -DLYNQ_ATSVC 
endif

ifeq ($(strip $(MOBILETEK_ATCID_CFG)), WOM)
    FLAGS += -DCONFIG_WOM_ATCID
endif

INCLUDES := -I. \
         -I./platform \
         -I./lynq-private \
         -I./lynq-private/pseudo_terminal \

SRCS := \
           ./at_tok.c \
           ./atcid.c \
           ./atcid_serial.c \
           ./atcid_cmd_dispatch.c \
           ./atcid_cust_cmd.c \
           ./atcid_util.c \
           ./platform/atcid_cust_cmd_platform.c \
           ./platform/atcid_mipc.c \
           ./platform/atcid_common.c \
           ./atcid_sim_cmd.c\
           ./atcid_universal_ant_cmd.c\
           ./lynq-private/lynq_atsvc_controller.c \
           ./lynq-private/pseudo_terminal/transfer_controller.c \


CXXSRCS := \
           ./platform/atcid_adaptation.cpp \


EXTRA_CXXFLAGS := -std=c++11

OBJS := ${SRCS:%.c=%.o}

CXXOBJS := ${CXXSRCS:%.cpp=%.o}

LDFLAGS += -L. -lpthread -lxml2 -ldl

.PHONY: all
all : $(TARGET)

${TARGET}: $(OBJS) $(CXXOBJS)
	$(CC) $(CFLAGS) $(OBJS) $(CXXOBJS) $(LDFLAGS) $(LIBS) -o $@

%.o: %.c
	${CC} $(CFLAGS) -c $< -o $@ $(INCLUDES) $(FLAGS)
	
%.o: %.cpp
	${CXX} $(CXXFLAGS) -c $< -o $@ $(INCLUDES) $(FLAGS) $(EXTRA_CXXFLAGS)

.PHONY: clean
clean:
	$(warning "makefile atcid clean")
	rm -rf $(OBJS) $(CXXOBJS) $(TARGET)