#Variables
include $(SCT_DAQ_ROOT)/build/Makefile.include
#Commands
include $(SCT_DAQ_ROOT)/build/Makefile.commands

BINS := SimpleWorkerGroupTest IpcWorkerGroupServer IpcWorkerGroupClient
HDRS := $(wildcard *.h)
SRCS := $(wildcard *.cpp)
OBJS := $(SRCS:.cpp=.o)

CPPFLAGS +=
LDLIBS += -lSct -lboost_thread
IDLS := $(wildcard *.idl)
IDLFLAGS :=  $(IDLS:.idl=.cppidl)

#Phony Targets
.PHONY: all c++ java install clean distclean compile

all: c++ install
distclean: clean
	-rm -f *.d *.cppidl *.hh *.cc *.cppidl

clean:
	-rm -f $(BINS) *.o

install:
java:
c++: idls

compile: $(BINS)

idls:	$(IDLFLAGS)
	$(MAKE) compile

$(BinDir)/%: %
	$(CPCMD)	

%: %.o
	$(BINCMD)

SimpleWorkerGroupTest:SimpleWorkerGroupTest.o
	$(BINCMD)

IpcWorkerGroupServer : IpcWorkerGroupServer.o Observer-server-stubs.o Observer.o 
	$(BINCMD)

IpcWorkerGroupClient : IpcWorkerGroupClient.o Observer.o 
	$(BINCMD)

%.o: %.cpp
	$(CPPCMD)

%.o: %.cc
	$(CPPCMD)

%.cppidl: $(CURDIR)/%.idl
	@echo $^
	$(CPPIDLCMD) && touch $@

#dependencies
$(BINS): $(DEPENDLIBCMD)

%.d: %.cpp
	$(DEPENDCMD)

ifeq ($(INCLUDEDEPENDANCIES),)
include $(SRCS:.cpp=.d)
endif

