include $(RTMEUSDIR)/src/Makefile.generic

TARGET   = Seq
TBINDIR = ./build/bin
TOBJDIR = ./build/obj
TLIBDIR = ./build/lib
OBJFILES = $(TARGET).o
OBJS     = $(addprefix $(TOBJDIR)/, $(OBJFILES))
TARGETLIB = $(TLIBDIR)/$(TARGET).$(LSFX)
TARGETCOMP = $(TBINDIR)/$(TARGET)Comp
LDFLAGS += -L$(LIBDIR) -lStateService -lCommandService

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

.cpp.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)

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

$(TBINDIR)/SeqTest.conf: SeqTest.conf
	cp -f SeqTest.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 StateSequencer.h
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<
$(TOBJDIR)/StateSequencer.o: StateSequencer.cpp StateSequencer.h
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<
$(TOBJDIR)/$(TARGET)Comp.o: $(TARGET)Comp.cpp 
	rm -f $@
	$(CXX) $(CXXFLAGS) -c -o $@ $<

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

# end of Makefile
