-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.sh
executable file
·124 lines (97 loc) · 2.78 KB
/
build.sh
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
cd src
########################################################################
# This compiles dfftpack
#
cd dfftpack
if [ "$1" != "skip_libraries" ]; then
make
fi
cd ../
#
########################################################################
########################################################################
# This compiles and locally installs Voro++
#
cd voro++/voro++-0.4.6
if [ "$1" != "skip_libraries" ]; then
make
make install
fi
cd ../../
#
########################################################################
########################################################################
# Compile the Voro++ functions used as external C code that can be
# handled by Fortran
#
g++ -c voronoi.cc -Ivoro++/voro++-0.4.6/src/
#
########################################################################
########################################################################
# Define directories for the different libraries used
#
# Voro++ library
#
vorolibs="-Lvoro++/install/lib/ -Lvoro++/voro++-0.4.6/src/ -lvoro++"
#
# dfftpack library
#
dfftlibs="-Ldfftpack/ -ldfftpack"
#
# Generic stuff
#
otherlibs="-lstdc++"
#
# All libraries
#
libs="$otherlibs $dfftlibs $vorolibs"
########################################################################
########################################################################
# Flags
#
flags="-fopenmp -std=legacy"
#flags="$flags -Ofast"
#
########################################################################
########################################################################
# Source code files
#
# Original DoSPT files written (mostly) by Miguel Caro
#
main="DoSPT.f90"
subroutines="misc.f90 volume.f90 sort_supergroups.f90"
src="$main $subroutines"
modules="misc2.f90 constants.f90 read_input.f90 good_bye.f90 read_trajectory.f90 \
rebuild_topology.f90 fluidicity.f90 \
calc_dos.f90 partition.f90 thermodynamic.f90"
#debug="-g -fcheck=all -Wall"
#debug="-g -fcheck=all"
#
# Add other files
#
other="voronoi.o lowess.f dfftpack/*.o"
src="$src $other"
#
########################################################################
########################################################################
# Compile modules
#
gfortran $debug $flags -c $modules $subroutines
modules=`echo $modules | sed 's/f90/o/g'`
#
########################################################################
########################################################################
# DoSPT output binary file
#
outdir="../bin/"
mkdir -p $outdir
#
out="$outdir/DoSPT"
#
########################################################################
########################################################################
# Compile DoSPT
#
gfortran $debug $flags $src $libs $modules -o $out
#
########################################################################