forked from hyperk/Prob3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
90 lines (57 loc) · 1.61 KB
/
Makefile
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
85
86
87
88
89
90
ROOTCFLAGS = `root-config --cflags`
ROOTLIBS = `root-config --libs`
CFLAGS += -fPIC
CXXFLAGS += -I. -Wall -fPIC
%.o : %.c
$(RM) $@
$(CC) -c $(CFLAGS) -o $@ $<
%.o : %.cc
$(RM) $@
$(CXX) -c $(CXXFLAGS) -o $@ $*.cc
OBJS = EarthDensity.o BargerPropagator.o mosc.o mosc3.o
LIBBASE = ThreeProb
VER = 2.10
TAG =
LIBALIAS = $(LIBBASE)$(TAG)
LIBNAME = $(LIBALIAS)_$(VER)
lib3p = lib$(LIBNAME).a
lib3pso = lib$(LIBALIAS).so
targets = $(lib3p) probRoot probLinear probAnalytic
install_prefix = /usr/lib
$(lib3p) : $(OBJS)
$(RM) $@
ar clq $@ $(OBJS)
ranlib $@
$(CXX) -o $(lib3pso) $(CXXFLAGS) -shared -W $(OBJS)
install: $(lib3pso)
cp $(lib3pso) $(install_prefix)
cp __init__.py $(install_prefix)/python2.7/Prob3.py
cp __init__.py $(install_prefix)/python3.7/Prob3.py
uninstall:
rm $(install_prefix)/$(lib3pso)
rm $(install_prefix)/python2.7/Prob3.py
rm $(install_prefix)/python3.7/Prob3.py
probRoot: probRoot.o $(lib3p)
$(RM) $@
$(CXX) -o $@ $(CXXFLAGS) -L. $^ $(ROOTLIBS)
.PHONY: probRoot.o
probRoot.o:
$(CXX) -o probRoot.o $(ROOTCFLAGS) $(CXXFLAGS) -c probRoot.cc
probLinear: probLinear.o $(lib3p)
$(RM) $@
$(CXX) -o $@ $(CXXFLAGS) -L. $^ $(ROOTLIBS)
.PHONY: probLinear.o
probLinear.o:
$(CXX) -o probLinear.o $(ROOTCFLAGS) $(CXXFLAGS) -c probLinear.cc
probAnalytic: probAnalytic.o $(lib3p)
$(RM) $@
$(CXX) -o $@ $(CXXFLAGS) -L. $^ $(ROOTLIBS)
.PHONY: probAnalytic.o
probAnalytic.o:
$(CXX) -o probAnalytic.o $(ROOTCFLAGS) $(CXXFLAGS) -c probAnalytic.cc
.PHONY: all
all: $(targets)
.PHONY: clean
clean:
$(RM) $(targets) *.o *.so *.pyc
emptyrule:: $(lib3p)