CC=gcc
CXX=g++

FLAGS=\
  -g \
  -Wall \
  -D __COMPILE_OPTION__ \
  -D __LINUX_OS__ \

#  -m32 \

CPPFLAGS=\
  -std=c++11 \

INCLUDE=\
  -I./utility/inc/ \

LIBS=\
  -ldl \
  -lrt \
  -lpthread \

CXXSRC=\

CSRC=\
  gpslog.c \
  ./utility/src/gpslog_data_coder.c \
  ./utility/src/gpslog_utility.c \
  ./utility/src/gpslog_log.c \
  ./utility/src/gpslog_socket_data_coder.c \
  ./utility/src/gpslog_socket_utils.c

EXECUTABLE=gpslog
COBJS=$(CSRC:.c=.o)
CXXOBJS=$(CXXSRC:.cpp=.o)

all: $(EXECUTABLE)

$(EXECUTABLE): $(COBJS) $(CXXOBJS)
	$(CC) $(COBJS) $(CXXOBJS) $(LIBS) $(FLAGS) $(CPPFLAGS) -o $@

%.o : %.c
	$(CC) -c $(FLAGS) $(INCLUDE) -o $@ $<

%.o : %.cpp
	$(CC) -c $(FLAGS) $(INCLUDE) $(CPPFLAGS) -o $@ $<

.PHONY: clean
clean:
	rm -f $(EXECUTABLE) rm -rf *.o
	rm -rf $(COBJS)

