-
Notifications
You must be signed in to change notification settings - Fork 1
/
makefile
77 lines (50 loc) · 2.25 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
-include Definitions.mk
#you can inlude more things here
PATH_INCLUDE= -I$(rootDir)
#c++ std
STD=c++17
FLG= -$(OPT) -std=$(STD) -lm $(PATH_INCLUDE) -Wall
Ros_Headers= $(wildcard $(rootDir)src/NaBBODES/Rosenbrock/*.hpp) $(wildcard $(rootDir)src/NaBBODES/Rosenbrock/LU/*.hpp) $(wildcard $(rootDir)src/NaBBODES/Rosenbrock/Jacobian/*.hpp)
RKF_Headers= $(wildcard $(rootDir)src/NaBBODES/RKF/*.hpp)
SPLINE_Headers=$(wildcard $(rootDir)src/SimpleSplines/*.hpp)
NSCSolve_Headers= $(wildcard $(rootDir)src/NSC/NSCSolve.hpp)
NSC_Headers= $(wildcard $(rootDir)src/NSC/RadPhi.hpp)
NSCpy_Cpp= $(wildcard $(rootDir)src/NSC/NSC-py.cpp)
Cosmo_Headers=$(wildcard $(rootDir)src/Cosmo/Cosmo.hpp)
Cosmopy_cpp=$(wildcard $(rootDir)src/Cosmo/Cosmo.cpp)
all: lib exec examples
lib: lib/libCosmo.so lib/libNSC.so
exec: check
#shared libraries that can be used from python
lib/libCosmo.so: $(Cosmopy_cpp) $(Cosmo_Headers) $(Static_Funcs)
$(CC) -o $@ $< -fPIC -shared $(FLG) -DLONGpy=$(LONGpy)
lib/libNSC.so: $(NSCpy_Cpp) $(NSCSolve_Headers) $(NSC_Headers)\
$(Cosmo_Headers) $(Static_Funcs)\
$(Ros_Headers) $(RKF_Headers)
$(CC) -o $@ $< -fPIC -shared $(FLG) -DLONGpy=$(LONGpy) -DMETHOD=$(METHOD) -DSOLVER=$(SOLVER)
# make the examples in UserSpace/Cpp
examples:
cd UserSpace/Cpp && $(MAKE)
#cleans whatever make all created
clean:
rm -rf $(wildcard lib/*)
rm -rf $(wildcard exec/*)
rm -rf $(wildcard UserSpace/Python/*_examplePlot.pdf)
cd UserSpace/Cpp && $(MAKE) clean
#deletes directories that configure.sh made
deepClean: clean
rm -rf exec
rm -rf lib
rm -rf $(rootDir)src/misc_dir
##--------------------------------make checks----------------------------------------##
check: exec/Cosmo_check.run exec/NSCSolve_check.run
Cosmo_cpp=$(wildcard $(rootDir)src/Cosmo/checks/Cosmo_check.cpp)
# check anharmonic factor interpolation
exec/Cosmo_check.run: $(Cosmo_cpp) $(Cosmo_Headers)
$(CC) -o $@ $< $(FLG) -DLONG=$(LONG)
NSCSolve_cpp=$(wildcard $(rootDir)src/NSC/checks/NSCSolve_check.cpp)
# check interpolations of the NSC_eom class
exec/NSCSolve_check.run: $(NSC_Cpp) $(NSCSolve_cpp) $(NSCSolve_Headers) $(NSC_Headers)\
$(Cosmo_Headers)\
$(Ros_Headers) $(RKF_Headers)
$(CC) -o $@ $< $(FLG) -DLONG=$(LONG) -DMETHOD=$(METHOD) -DSOLVER=$(SOLVER)