-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
124 lines (110 loc) · 3.63 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
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
.PHONY: goal clear
goal: makefile.dep
$(MAKE) spherical_tdse.x
# make build_pes.x
MAKEFLAGS = -r -j8
.SUFFIXES: .f90 .o .x .c .dep
#
# This is the default; a config file may override it.
#
#ACT = sed -e 's/^!\*qd/ /' # Enable quad-math statements
ACT = sed -e 's/^!\*nq/ /' # Disable quad-math statements
#ACT2 = -e 's/^!\*mp/ /' # Enable MPI statements
ACT2 = -e 's/^!\*nm/ /' # Disable MPI statements
#
# System-specific overrides
#
include vanilla.mak
# include configs/babel-gfortran_opt.mak
# include configs/babel-ifort18_opt.mak
# include configs/zen-gfortran-7_opt.mak
# include configs/zen-gfortran-11_opt.mak
# include configs/zen-gfortran-12_opt.mak
# include configs/zen-gfortran-13_opt.mak
# include configs/zen-gfortran-13_dbg.mak
# include configs/zen-oneapi_opt.mak
# include configs/zen-oneapi-i8_opt.mak
# include configs/zen-oneapi_opt_mpi.mak
# include configs/zen-aocc-1.1_opt.mak # VERY SLOW CODE. DO NOT USE.
# include configs/oink-gfortran_opt.mak
# include configs/macos_m1-gfortran_opt.mak
# include configs/shelob-ifort_opt.mak
# include configs/shelob-ifort18_opt.mak
# include configs/shelob-ifort18_opt_mpi.mak
# include configs/shelob-ifort_noquad_opt.mak
# include configs/shelob-gfortran_opt.mak
# include configs/shelob-gfortran_opt_mpi.mak
# include configs/shelob-gfortran-7_opt.mak
# include configs/shelob-gfortran-10_opt.mak
# include configs/shelob-gfortran_dbg.mak
# include configs/shelob-gfortran_noquad_opt.mak
# include configs/shelob-gfortran_noquad_dbg.mak
# include configs/shelob-aocc20_opt.mak # VERY SLOW & BUGGY CODE. DO NOT USE.
# include configs/vulcan_mic-ifort_opt.mak
# include configs/smeagol-ifort_opt.mak
# include configs/smeagol-gfortran_opt.mak
# include configs/sedna-ifort_opt.mak
#
# Finish the set-up
#
LIBS = $(LAPACK) $(LAPACK) $(LIBEXTRA)
#
# Compiling and archiving rules
#
.f90.o:
$(ACT) $(ACT2) $< >preprocess/$<
$(F90) -c preprocess/$<
#hacks.o: hacks.f90 accuracy.o
# $(F90) -O0 -c hacks.f90
clean:
-/bin/rm -f *.{o,mod,x,il,a} *__genmod.f90 checkpoint_{field,main}.* makefile.dep *.optrpt *.dbg ./preprocess/*.f90
makefile.dep: $(shell echo *.f90)
./make-depend.sh $^ > $@
#
# Explicit dependencies
#
LIBSPHERICAL += accuracy.o
LIBSPHERICAL += bicg_tools.o
LIBSPHERICAL += cap_tools.o
LIBSPHERICAL += checkpoint_tools.o
LIBSPHERICAL += composition_analysis.o
LIBSPHERICAL += constants.o
LIBSPHERICAL += coulomb_functions.o
LIBSPHERICAL += cubic_spline.o
LIBSPHERICAL += hacks.o
LIBSPHERICAL += lapack.o
LIBSPHERICAL += math.o
LIBSPHERICAL += node_tools.o
LIBSPHERICAL += potential_tools.o
LIBSPHERICAL += propagator_tools.o
LIBSPHERICAL += rotation_tools.o
LIBSPHERICAL += sort_tools.o
LIBSPHERICAL += spherical_data.o
LIBSPHERICAL += spherical_data_initialize.o
LIBSPHERICAL += spherical_bessel.o
LIBSPHERICAL += spherical_tdse_data.o
LIBSPHERICAL += spherical_tdse_field.o
LIBSPHERICAL += spherical_tdse_initialwf.o
LIBSPHERICAL += spherical_tdse_io.o
LIBSPHERICAL += spherical_tdse_propagate.o
LIBSPHERICAL += spherical_tsurf.o
LIBSPHERICAL += spherical_tsurf_data.o
LIBSPHERICAL += test_tools.o
LIBSPHERICAL += timer.o
LIBSPHERICAL += tridiagonal_cyclic.o
LIBSPHERICAL += tridiagonal_pivoted.o
LIBSPHERICAL += tridiagonal_tools.o
LIBSPHERICAL += vectorpotential_tools.o
LIBSPHERICAL += wavefunction_tools.o
#
# Building the binaries
#
spherical_tdse.x: spherical_tdse.o versions.o $(LIBSPHERICAL)
$(F90L) -o spherical_tdse.x spherical_tdse.o versions.o $(LIBSPHERICAL) $(LIBS)
-hugeedit --text --data spherical_tdse.x
build_pes.x: build_pes.o $(LIBSPHERICAL)
$(F90L) -o build_pes.x build_pes.o $(LIBSPHERICAL) $(LIBS)
#
# Automatically-generated dependencies
#
include makefile.dep