include ../Makefile.generic

TARGET   = NxWMSReader
TBINDIR = ./build/bin
TOBJDIR = ./build/obj
TLIBDIR = ./build/lib
CXXFLAGS += -I../idl/
LIBIDL = ../idl/libExtended3DdataTypes.a
OBJFILES = $(TARGET).o NxWMS.o lib_nxwms.o
OBJS     = $(addprefix $(TOBJDIR)/, $(OBJFILES))
TARGETLIB = $(TLIBDIR)/$(TARGET).$(LSFX)
TARGETCOMP = $(TBINDIR)/$(TARGET)Comp
LDFLAGS += -lboost_thread


all: mkdir $(TARGETLIB) $(TBINDIR)/$(TARGET)Comp $(TBINDIR)/NxWMSReaderTest.conf $(TBINDIR)/rtc.conf

.cpp.o:
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<

mkdir:
	@if [ ! -d $(TBINDIR) ]; then \
	echo "Make build directory";\
	mkdir -p $(TBINDIR);\
	mkdir -p $(TOBJDIR);\
	mkdir -p $(TLIBDIR);\
	fi

$(TARGETLIB): $(OBJS)
	rm -f $@
	$(CXX) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBIDL)

$(TARGETCOMP): $(TOBJDIR)/$(TARGET)Comp.o $(OBJS)
	$(CXX) -o $@ $(TOBJDIR)/$(TARGET)Comp.o $(OBJS) $(LDFLAGS) $(LIBIDL)

$(TBINDIR)/NxWMSReaderTest.conf: NxWMSReaderTest.conf
	cp -f NxWMSReaderTest.conf $(TBINDIR)/

clean: clean_objs
	rm -f *~ *.log

dist-clean: clean_objs
	rm -rf ./build/

clean_objs:
	rm -f $(OBJS) $(TOBJDIR)/$(TARGET)Comp.o $(TARGETLIB) $(TARGETCOMP)


$(TOBJDIR)/$(TARGET).o: $(TARGET).cpp $(TARGET).h
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<
$(TOBJDIR)/$(TARGET)Comp.o: $(TARGET)Comp.cpp 
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<

$(TOBJDIR)/NxWMS.o: NxWMS.cpp NxWMS.h
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<

$(TOBJDIR)/lib_nxwms.o: lib_nxwms.c lib_nxwms.h
	rm -f $@
	$(CC) $(CFLAGS) -Wall -c -o $@ $<

testset: test_setting.cpp  $(TOBJDIR)/lib_nxwms.o
	$(CXX) $(CXXFLAGS) -o $@ $< $(TOBJDIR)/lib_nxwms.o `rtm-config --libs`

$(TBINDIR)/rtc.conf: ../rtc.conf
	cp -f ../rtc.conf $(TBINDIR)/

# end of Makefile
