]>
Commit | Line | Data |
---|---|---|
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 |