5 CLASSES = AliDCSMessage.cxx AliDCSClient.cxx
9 HEADERS := $(patsubst %.$(SrcSuf),%.h,$(CLASSES))
11 SRCS = $(CLASSES) $(DICT)
13 INCLUDES := $(ALICE_ROOT)/include
14 LIBDIR := $(shell root-config --libdir)
17 CXXFLAGS += -I$(INCLUDES) -g
19 OBJS := $(patsubst %.$(SrcSuf),.obj/%.$(ObjSuf),$(SRCS))
20 DEPS := $(patsubst .obj/%.$(ObjSuf),.dep/%.d,$(OBJS))
23 .PHONY: all clean distclean dep
25 all: $(DEP) AliDCSClient.so
27 $(DICT): $(HEADERS) DCSClientLinkDef.h
28 rootcint -f $@ -c -I$(INCLUDES) $^
32 AliDCSClient.so: $(OBJS)
33 $(LD) $(SHARED) $(LDFLAGS) $^ -L$(LIBDIR) $(LIBS) -o $@
40 rm -rf AliDCSClient.so
47 ifeq ($(filter %clean,$(MAKECMDGOALS)),)
48 DEPS_MAGIC := $(shell mkdir .dep > /dev/null 2>&1 || :)
50 ifeq ($(strip $(filter %clean,$(MAKECMDGOALS)) $(filter dep,$(MAKECMDGOALS))),)
51 OBJS_MAGIC := $(shell mkdir .obj > /dev/null 2>&1 || :)
56 set -e; $(CXX) -MM $(CXXFLAGS) $< | \
57 awk '/\.o/ {print ".dep/$(*F).d .obj/"$$0} ! /\.o/ {print $$0}' > .dep/$(*F).d
59 .obj/%.$(ObjSuf): %.$(SrcSuf)
60 $(CXX) $(CXXFLAGS) -c $< -o .obj/$(*F).o