-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
84 lines (68 loc) · 2.94 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
# This file is part of the Abinitio Dynamical Vertex Approximation (ADGA)
# package. It is an electronic structure code which allows the inclusion of
# non-local correlations beyond DMFT and the calculation of momentum-dependent
# susceptibilities.
#
# The public repository can be found at
# https://github.com/AbinitioDGA/ADGA
#
# The arXiv publication can be found at
# https://arxiv.org/abs/1710.06651
#
# Copyright (C) <2017, 2018>
# <Anna Galler*, Patrick Thunström, Josef Kaufmann, Matthias Pickem, Jan M. Tomczak, Karsten Held>
# * Corresponding author. E-mail address: [email protected]
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
SHELL=/bin/bash
PROG = abinitiodga
PREPROG = setupvertex
include ../make_config
INSTALL_DIR = ../bin
MAIN_OBJECTS := main.o parameters_module.o interaction_module.o kq_tools.o lapack_module.o one_particle_quant_module.o \
susc_module.o eom_module.o hdf5_module.o aux.o mpi_org.o lookup_module.o config_module.o
VERTEX_OBJECTS := vertex_chann_sym.o hdf5_module.o parameters_module.o aux.o kq_tools.o
.SUFFIXES:
.SUFFIXES: .o .f90 .F90
%.o: %.f90
$(F90) $(FFLAGS) $(FINCLUDE) -c $< -o $@
%.o: %.F90
$(F90) $(FFLAGS) $(FPPFLAGS) $(FINCLUDE) -c $< -o $@
.PHONY: all
all: $(INSTALL_DIR) $(INSTALL_DIR)/$(PROG) $(INSTALL_DIR)/$(PREPROG)
$(INSTALL_DIR):
if [ ! -d $(INSTALL_DIR) ]; then mkdir -p $(INSTALL_DIR) ; fi
$(INSTALL_DIR)/$(PROG): $(MAIN_OBJECTS)
$(LD) $^ -o $@ $(FFLAGS) $(LDINCLUDE) $(LDFLAGS)
$(INSTALL_DIR)/$(PREPROG): $(VERTEX_OBJECTS)
$(LD) $^ -o $@ $(FFLAGS) $(LDINCLUDE) $(LDFLAGS)
main.o: parameters_module.o aux.o kq_tools.o lapack_module.o one_particle_quant_module.o susc_module.o \
eom_module.o interaction_module.o hdf5_module.o mpi_org.o config_module.o
vertex_chann_sym.o: parameters_module.o hdf5_module.o aux.o kq_tools.o
eom_module.o: parameters_module.o one_particle_quant_module.o
susc_module.o: parameters_module.o hdf5_module.o
one_particle_quant_module.o: aux.o lapack_module.o parameters_module.o mpi_org.o
kq_tools.o: parameters_module.o
interaction_module.o: parameters_module.o hdf5_module.o aux.o
hdf5_module.o: parameters_module.o kq_tools.o aux.o
mpi_org.o: parameters_module.o
lookup_module.o: parameters_module.o
config_module.o: parameters_module.o lookup_module.o
.PHONY: clean pristine
clean:
rm -f *.o *.mod
pristine:
rm -f *.o *.mod
rm -f $(INSTALL_DIR)/$(PROG)
rm -f $(INSTALL_DIR)/$(PREPROG)