-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·85 lines (63 loc) · 2.57 KB
/
Makefile
File metadata and controls
executable file
·85 lines (63 loc) · 2.57 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
UNAME = $(shell uname)
EXE = baselineReco deltaClusAnalysis alignmentReco telescopeAna
VPATH = .:./interface
vpath %.h ./interface
CSUF = cc
HSUF = h
DICTC = Dict.$(CSUF)
DICTH = $(patsubst %.$(CSUF),%.h,$(DICTC))
SRCS = src/argvparser.cc src/DataFormats.cc src/BeamAnaBase.cc src/Utility.cc src/Histogrammer.cc
OBJS = $(patsubst %.$(CSUF), %.o, $(SRCS))
LDFLAGS = -g
SOFLAGS = -shared
CXXFLAGS = -I./interface -I./
CXX = g++
CXXFLAGS += -g -std=c++11
HDRS_DICT = interface/DataFormats.h interface/LinkDef.h
bin: baselineReco deltaClusAnalysis alignmentReco telescopeAna
all:
gmake cint
gmake bin
cint: $(DICTC)
$(DICTC): $(HDRS_DICT)
@echo "Generating dictionary $(DICTC) and $(DICTH) ..."
rootcint -f $@ -c $(CXXFLAGS) $^
perl -pi -e 's#interface/##' $(DICTH)
perl -pi -e 's/#include <math.h>/#include <math.h>\n#include <map>/' $(DICTH)
mv $(DICTC) src/
mv $(DICTH) interface/
BaselineAnalysis.o : src/BaselineAnalysis.cc
$(CXX) $(CXXFLAGS) `root-config --cflags` -o $@ -c $<
mv $@ ../src/
TelescopeAnalysis.o : src/TelescopeAnalysis.cc
$(CXX) $(CXXFLAGS) `root-config --cflags` -o $@ -c $<
mv $@ ../src/
AlignmentMultiDimAnalysis.o : src/AlignmentMultiDimAnalysis.cc
$(CXX) $(CXXFLAGS) -Wdeprecated-declarations `root-config --cflags` -o $@ -c $<
mv $@ ../src/
DeltaClusterAnalysis.o : src/DeltaClusterAnalysis.cc
$(CXX) $(CXXFLAGS) `root-config --cflags` -o $@ -c $<
mv $@ ../src/
baselineReco: src/baselineReco.cc $(OBJS) src/BaselineAnalysis.o src/Dict.o
$(CXX) $(CXXFLAGS) `root-config --cflags` $(LDFLAGS) $^ -o $@ $(LIBS) `root-config --libs`
telescopeAna: src/telescopeAna.cc $(OBJS) src/TelescopeAnalysis.o src/Dict.o
$(CXX) $(CXXFLAGS) `root-config --cflags` $(LDFLAGS) $^ -o $@ $(LIBS) `root-config --libs`
alignmentReco: src/alignmentReco.cc $(OBJS) src/AlignmentMultiDimAnalysis.o src/Dict.o
$(CXX) $(CXXFLAGS) `root-config --cflags` $(LDFLAGS) $^ -o $@ $(LIBS) `root-config --libs ` -lMinuit2
deltaClusAnalysis: src/dclusAnalysis.cc $(OBJS) src/DeltaClusterAnalysis.o src/Dict.o
$(CXX) $(CXXFLAGS) `root-config --cflags` $(LDFLAGS) $^ -o $@ $(LIBS) `root-config --libs`
# Create object files
%.o : %.$(CSUF)
$(CXX) $(CXXFLAGS) `root-config --cflags` -o $@ -c $<
# makedepend
depend: $(SRCS:.$(CSUF)=.$(CSUF).dep)
@cat $(notdir $^) > Makefile.dep
@-rm -f $(notdir $^) $(patsubst %,%.bak,$(notdir $^))
%.dep:
@touch $(notdir $@)
rmkdepend -f$(notdir $@) -- $(CXXFLAGS) `root-config --cflags` -- $*
include Makefile.dep
# Clean
.PHONY : clean
clean :
@-rm $(OBJS) $(EXE) interface/$(DICTH) src/$(DICTC) src/*.o