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

SRCS := $(shell find -name "*.cpp")
OBJS := $(SRCS:.cpp=.o)
IDLS := $(IncludeDir)/SctApi/SctApi.idl $(wildcard *.idl)
IDLFLAGS := $(notdir $(IDLS:.idl=.cppidl))
BINS := TestCalibrationController

LDLIBS += $(ROOTLIBS) -lSct -lpthread -lrcl -lrccomms -lchsm -lconfdb -loks -lowl -ldal -lSctApiIPC

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

all: c++
distclean: clean
	-rm -r -f *.javaidl 
clean:
	-rm -f *.o $(BINS)
install: $(BinDir)/$(BINS)
java:
idl: $(IDLFLAGS)
c++: $(BINS)

built: $(SRCS)
	$(JAVACMD) && touch $@

TestCalibrationController: LDLIBS += -lsctConfIPC
TestCalibrationController: $(OBJS) ../src/ipc/Sct_CalibrationController-server-stubs.o ../src/ipc/Sct_CalibrationController.o
	$(BINCMD)
%.o: %.cpp
	$(CPPCMD)
%.o: %.cc
	$(CPPCMD)
%.cppidl: $(IncludeDir)/SctApi/%.idl
	$(CPPIDLCMD) && touch $@
%.cppidl: %.idl
	$(CPPIDLCMD) && touch $@
$(BinDir)/$(BINS): $(BINS)
	$(CPCMD)

#dependencies
$(BINS): $(DEPENDLIBCMD)

%.d: %.cpp
	$(DEPENDCMD)

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