CC=gcc
CXX=g++

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

#  -m32 \

CPPFLAGS=\
  -std=c++11 \

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

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

CXXSRC=\

CSRC=\
  mnldinf_client.c \
  ../src/mnldinf_data_coder.c \
  ../src/mnldinf_basic.c \
  ../src/mnldinf_ext.c \
  ../src/mnldinf_log.c \
  ../src/mnldinf_utility.c

EXECUTABLE=mnldinf_test
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)

