~ebonnet/+junk/DataAnalysisPackage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
LIBRARY = Vapo

SOURCES := $(wildcard src/*.cpp)
#SOURCES := src/Routines.cpp
CLASSES := $(SOURCES:src/%.cpp=%)
HEADERS = $(CLASSES:%=inc/%.h) 
DICTIONARIES = $(CLASSES:%=src/%Dict.cpp) 

KV := $$KVROOT

SOURCE_OBJ = $(SOURCES:%.cpp=%.o) 
DICT_OBJ = $(DICTIONARIES:%.cpp=%.o) 

debug =
DEBUG = -O3
ifeq ($(debug),yes)
DEBUG = -g -D__DBG__
endif

lib$(LIBRARY).so: $(SOURCE_OBJ) $(DICT_OBJ)
	$(CXX) -shared `root-config --ldflags` $^ `root-config --libs`  -L`root-config --libdir` -LlibKVMultiDet -LlibKVIndra -o $@

clean :
	-rm -f src/*.o
	-rm -f src/*Dict.h
	-rm -f *~
	-rm -f lib$(LIBRARY).so
	-rm -f routines/*_C.so
	-rm -f routines/*_C.d
	-rm -f kvselectors/*_cpp.d
	-rm -f kvselectors/*_cpp.so
	
	
# generate dictionaries
src/%Dict.cpp : inc/%.h
	rootcint -f $@ -c -I$(KV)/include/ $< LinkDef.h
	
# compile with same options as ROOT
src/%.o : src/%.cpp inc/%.h
	$(CXX) `root-config --cflags` -Iinc -I$(KV)/include/ $(DEBUG) -fPIC -c -o$@ $<
src/%Dict.o : src/%Dict.cpp
	$(CXX) -I. `root-config --cflags` -I$(KV)/include/ $(DEBUG) -fPIC -c -o$@ $<
	
test:
	@echo $(KV)
	@echo $(CLASSES)
	@echo $(SOURCES)
	@echo $(HEADERS)
	@echo $(DICTIONARIES)
	@echo $(SOURCE_OBJ)
	@echo $(DICT_OBJ)