]> git.uio.no Git - u/mrichter/AliRoot.git/blob - SHUTTLE/DCSClient/Makefile
ef7a2b7385b799ca43b9e4b36726a5e6c273171c
[u/mrichter/AliRoot.git] / SHUTTLE / DCSClient / Makefile
1
2 include Makefile.arch
3
4
5 CLASSES = AliDCSMessage.cxx AliDCSClient.cxx
6         
7 DICT = Dict.cxx
8
9 HEADERS := $(patsubst %.$(SrcSuf),%.h,$(CLASSES))
10
11 SRCS = $(CLASSES) $(DICT)
12
13 INCLUDES := $(ALICE_ROOT)/include
14 LIBDIR := $(shell root-config --libdir)
15 SHARED = -shared
16
17 CXXFLAGS += -I$(INCLUDES) -g
18
19 OBJS := $(patsubst %.$(SrcSuf),.obj/%.$(ObjSuf),$(SRCS))
20 DEPS := $(patsubst .obj/%.$(ObjSuf),.dep/%.d,$(OBJS))
21
22
23 .PHONY: all clean distclean dep
24
25 all: $(DEP) AliDCSClient.so
26
27 $(DICT): $(HEADERS) DCSClientLinkDef.h
28         rootcint -f $@ -c -I$(INCLUDES) $^
29
30
31
32 AliDCSClient.so: $(OBJS)
33         $(LD) $(SHARED) $(LDFLAGS) $^ -L$(LIBDIR) $(LIBS) -o $@
34
35 dep: $(DICT) $(DEPS)
36
37 clean:
38         rm -rf Dict.h
39         rm -rf Dict.cxx
40         rm -rf AliDCSClient.so
41         rm -rf .dep
42         rm -rf .obj
43
44
45 distclean: clean ;
46
47 ifeq ($(filter %clean,$(MAKECMDGOALS)),)
48 DEPS_MAGIC := $(shell mkdir .dep > /dev/null 2>&1 || :)
49 endif
50 ifeq ($(strip $(filter %clean,$(MAKECMDGOALS)) $(filter dep,$(MAKECMDGOALS))),)
51 OBJS_MAGIC := $(shell mkdir .obj > /dev/null 2>&1 || :)
52 -include $(DEPS)
53 endif
54
55 .dep/%.d: %.$(SrcSuf)
56         set -e; $(CXX) -MM $(CXXFLAGS) $< | \
57         awk '/\.o/ {print ".dep/$(*F).d .obj/"$$0} ! /\.o/ {print $$0}' > .dep/$(*F).d
58
59 .obj/%.$(ObjSuf): %.$(SrcSuf)
60         $(CXX) $(CXXFLAGS) -c $< -o .obj/$(*F).o 
61