-
Notifications
You must be signed in to change notification settings - Fork 11
/
makefile_LINUXgfortran
64 lines (48 loc) · 2.21 KB
/
makefile_LINUXgfortran
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
goal: duo
tarball:
tar cfz duo$(PLAT).tar.gz makefile *.f90
checkin:
ci -l Makefile *.f90
EXE = j-duo-v218v1.x
FOR = gfortran
# Standard compile (max optimisation)
#FFLAGS = -O3
# OpenMP parallel compile
FFLAGS = -O3 -fopenmp
# Debugging options
#FFLAGS = -Og -g -Wall -Wextra -Wline-truncation -pedantic -fimplicit-none -fcheck=all -fbacktrace
LAPACK = -llapack -L/usr/lib/lapack -lblas -L/usr/lib/libblas
LIB = $(LAPACK)
###############################################################################
OBJ = F1_hyperfine.o F1_intensity.o grids.o accuracy.o lapack.o timer.o input.o diatom.o refinement.o functions.o symmetry.o dipole.o quadrupole.o magnetic_dipole.o header_info.o atomic_and_nuclear_data.o Lobatto.o me_numer.o RWF.o
diatom.o: symmetry.o functions.o input.o lapack.o Lobatto.o timer.o atomic_and_nuclear_data.o accuracy.o me_numer.o
dipole.o: timer.o accuracy.o diatom.o symmetry.o
quadrupole.o: timer.o accuracy.o diatom.o symmetry.o
magnetic_dipole.o: timer.o accuracy.o diatom.o symmetry.o
duo.o: header_info.o diatom.o accuracy.o refinement.o timer.o dipole.o F1_hyperfine.o F1_intensity.o
functions.o: accuracy.o timer.o
grids.o: accuracy.o Lobatto.o
header_info.o: accuracy.o
F1_hyperfine.o: accuracy.o diatom.o lapack.o symmetry.o
F1_intensity.o: F1_hyperfine.o accuracy.o diatom.o
me_numer.o : accuracy.o lapack.o timer.o
lapack.o: accuracy.o timer.o
Lobatto.o: accuracy.o timer.o
refinement.o: timer.o accuracy.o diatom.o
symmetry.o: accuracy.o
timer.o: accuracy.o
RWF.o: accuracy.o diatom.o timer.o symmetry.o lapack.o
# clear internal suffix rules
.SUFFIXES:
# specify our own suffix rules
.SUFFIXES: .f90 .o
.f90.o:
$(FOR) -c -o $@ $< $(FFLAGS)
duo: $(OBJ) duo.o
$(FOR) -o $(EXE) $(OBJ) $(FFLAGS) duo.o $(LIB)
RWF.o: RWF.f90 accuracy.o diatom.o timer.o symmetry.o lapack.o
$(FOR) -c RWF.f90 $(FFLAGS)
clean:
rm -f $(OBJ) *.mod *__genmod.f90 duo.o duo_test_0* eigen_vectors.chk eigen_vib.chk Bob-Rot_centrifugal_functions.dat _Lp__functions.dat Spin-Orbit.dat Spin-spin_functions.dat Dipole_moment_functions.dat Potential_functions.dat Spin-rotation_functions.dat Spin-spin-o__non-diagonal__functions.dat
test: test_duo.f90
$(FOR) -O0 test_duo.f90 -o duo_test.exe