mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-31 19:23:50 +01:00
Remove makefile.depend dependancy !
This commit is contained in:
parent
af1acde61f
commit
ba49beff36
@ -3,6 +3,7 @@
|
||||
|
||||
import os
|
||||
import sys
|
||||
import glob
|
||||
|
||||
from os.path import join
|
||||
|
||||
@ -18,10 +19,12 @@ from collections import namedtuple
|
||||
Path = namedtuple('Path', ['abs', 'rel'])
|
||||
|
||||
EZ_config_path = namedtuple('EZ_config', ['path_in_module', 'path_in_ezfio'])
|
||||
EZ_handler = namedtuple('EZ_handler', ['ez_module', 'ez_cfg', 'ez_interface', 'ez_config', 'ez_default', 'ez_ocaml'])
|
||||
EZ_handler = namedtuple('EZ_handler', ['ez_module', 'ez_cfg',
|
||||
'ez_interface', 'ez_config',
|
||||
'ez_default', 'ez_ocaml'])
|
||||
|
||||
try:
|
||||
from module_handler import module_genealogy
|
||||
from module_handler import module_genealogy, file_dependancy
|
||||
from cache import cache
|
||||
from read_compilation_cfg import get_compilation_option
|
||||
except ImportError:
|
||||
@ -29,43 +32,10 @@ except ImportError:
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
# _
|
||||
# |\/| _. | _ _|_ o | _ _| _ ._ ._ _|
|
||||
# | | (_| |< (/_ | | | (/_ o (_| (/_ |_) | | (_|
|
||||
#
|
||||
def ninja_makefile_depend_rule():
|
||||
# Rule
|
||||
l_string = ["rule build_makefile.depend"]
|
||||
l_string += [" command = module_handler.py save_makefile_depend $module/NEEDED_CHILDREN_MODULES"]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_makefile_depend_build(l_all_needed_molule, path_module):
|
||||
l_makefile = [join(i.abs, "Makefile") for i in l_all_needed_molule]
|
||||
|
||||
# Build
|
||||
path_mkdepend = join(path_module.abs, "Makefile.depend")
|
||||
str_l_makefile = " ".join(l_makefile)
|
||||
|
||||
l_string = ["build {0}: build_makefile.depend {1}".format(path_mkdepend,
|
||||
str_l_makefile)]
|
||||
|
||||
l_string += [" module = {0}".format(path_module.abs)]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
|
||||
import glob
|
||||
|
||||
|
||||
# _ __ _ ___ _ _
|
||||
# |_ / |_ | / \ _ _|_ _
|
||||
# |_ /_ | _|_ \_/ o (_ | (_|
|
||||
# _|
|
||||
|
||||
|
||||
def get_l_module_with_ezfio_cfg():
|
||||
from os import listdir
|
||||
from os.path import isfile, join
|
||||
@ -213,13 +183,13 @@ def ninja_ezfio_config_build(l_ezfio_config):
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_ezfio_rule():
|
||||
def ninja_ezfio_rule(pwd_config_file):
|
||||
# Rule
|
||||
l_string = ["rule build_ezfio"]
|
||||
|
||||
l_flag = []
|
||||
for flag in ["FC", "FCFLAGS", "IRPF90"]:
|
||||
str_ = "export {0}='{1}'".format(flag, get_compilation_option(flag))
|
||||
str_ = "export {0}='{1}'".format(flag, get_compilation_option(pwd_config_file, flag))
|
||||
l_flag.append(str_)
|
||||
|
||||
l_cmd = ["cd {0}".format(qpackage_root_ezfio)] + l_flag + ["make", "make Python"]
|
||||
@ -297,9 +267,7 @@ def dict_needed_modules(l_module_to_compile):
|
||||
for module_rel in l_module_to_compile:
|
||||
module_abs = join(qpackage_root_src, module_rel)
|
||||
|
||||
path_neeeded_module = join(module_abs, "NEEDED_CHILDREN_MODULES")
|
||||
|
||||
d[Path(module_abs, module_rel)] = [Path(join(qpackage_root_src, m_children), m_children) for m_children in module_genealogy(path_neeeded_module)]
|
||||
d[Path(module_abs, module_rel)] = [Path(join(qpackage_root_src, m_children), m_children) for m_children in module_genealogy(module_rel)]
|
||||
|
||||
return d
|
||||
|
||||
@ -319,32 +287,28 @@ def get_irp_dependancy(d_info_module):
|
||||
return d_irp
|
||||
|
||||
|
||||
def ninja_irpf90_make_rule():
|
||||
def ninja_irpf90_make_rule(pwd_config_file):
|
||||
# Rule
|
||||
l_string = ["pool irp_pool"]
|
||||
l_string += [" depth = 1"]
|
||||
l_string += [""]
|
||||
|
||||
l_string += ["rule build_irpf90.make"]
|
||||
l_string += [" command = cd $module ; irpf90 $include_dir $irpf90_flag"]
|
||||
|
||||
flag = get_compilation_option(pwd_config_file, "IRPF90_FLAGS")
|
||||
|
||||
l_cmd = ["cd $module",
|
||||
"export SRC=$src",
|
||||
"export OBJ=$obj",
|
||||
"irpf90 $include_dir irpf90_flag = {0}".format(flag)]
|
||||
|
||||
l_string += [" command = {0}".format(" ; ".join(l_cmd))]
|
||||
l_string += [" pool = irp_pool"]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_create_l_irp_build(d_irp):
|
||||
|
||||
l_string = []
|
||||
for m, l_irp in d_irp.iteritems():
|
||||
|
||||
dep = " ".join(l_irp)
|
||||
l_string += ["build l_irp_{0}: phony {1}".format(m, dep)]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_irpf90_make_build(l_all_needed_molule,
|
||||
path_module,
|
||||
d_irp):
|
||||
@ -357,28 +321,32 @@ def ninja_irpf90_make_build(l_all_needed_molule,
|
||||
|
||||
str_l_irp_need = " ".join(l_irp_need)
|
||||
|
||||
path_makefiledepend = join(path_module.abs, "Makefile.depend")
|
||||
|
||||
if l_all_needed_molule:
|
||||
str_l_destination = "l_symlink_{0}".format(path_module.rel)
|
||||
|
||||
str_depend = "{0} {1} {2}".format(str_l_irp_need,
|
||||
path_makefiledepend,
|
||||
str_l_destination)
|
||||
else:
|
||||
str_depend = "{0} {1}".format(str_l_irp_need,
|
||||
path_makefiledepend)
|
||||
str_l_destination)
|
||||
else:
|
||||
str_depend = "{0}".format(str_l_irp_need)
|
||||
|
||||
# Build
|
||||
l_string = ["build {0}: build_irpf90.make {1}".format(path_irpf90_make,
|
||||
str_depend)]
|
||||
|
||||
l_string += [" module = {0}".format(path_module.abs)]
|
||||
|
||||
# Env
|
||||
l_src, l_obj = file_dependancy(path_module.rel)
|
||||
|
||||
str_src = " ".join(l_src)
|
||||
str_obj = " ".join(l_obj)
|
||||
l_string += [" src = '{0}'".format(str_src)]
|
||||
l_string += [" obj = '{0}'".format(str_obj)]
|
||||
|
||||
# Option
|
||||
str_include_dir = " ".join(["-I {0}".format(m.rel) for m in l_all_needed_molule])
|
||||
|
||||
l_string += [" include_dir = {0}".format(str_include_dir)]
|
||||
l_string += [" irpf90_flag = {0}".format("--align=32 --openmp")]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
@ -388,6 +356,8 @@ def ninja_readme_rule():
|
||||
|
||||
l_string = ["rule build_readme"]
|
||||
l_string += [" command = cd $module ; update_README.py"]
|
||||
# Trick to not remove the update_README when cleaning
|
||||
l_string += [" generator = 1"]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
@ -439,7 +409,7 @@ def get_ml_file(l_util, l_qp):
|
||||
|
||||
def ninja_ocaml_rule():
|
||||
# Rule
|
||||
cmd = " command = cd {0} ; make -j 1 $native ; touch $native; ln -sf $native $binary"
|
||||
cmd = " command = cd {0} ; make -j 1 $native && touch $native && ln -sf $native $binary"
|
||||
|
||||
l_string = ["rule build_ocaml"]
|
||||
l_string += [cmd.format(qpackage_root_ocaml)]
|
||||
@ -522,16 +492,36 @@ def get_program(path_module):
|
||||
return []
|
||||
|
||||
|
||||
def ninja_binary_rule():
|
||||
# Rule
|
||||
def ninja_binary_rule(pwd_config_file):
|
||||
|
||||
l_flag = []
|
||||
for flag in ["FC", "FCFLAGS"]:
|
||||
str_ = "export {0}='{1}'".format(flag, get_compilation_option(pwd_config_file, flag))
|
||||
l_flag.append(str_)
|
||||
|
||||
mkl = get_compilation_option(pwd_config_file, "MKL")
|
||||
ezfio = join(qpackage_root_ezfio, "lib", "libezfio_irp.a")
|
||||
|
||||
str_ = "export LIB='{0} {1}'".format(mkl, ezfio)
|
||||
l_flag.append(str_)
|
||||
|
||||
l_cmd = ["cd $module"] + l_flag + ["export SRC=$src",
|
||||
"export OBJ=$obj",
|
||||
"make -f irpf90.make -j 1 $binary && touch $binary"]
|
||||
|
||||
l_string = ["rule build_binary"]
|
||||
l_string += [" command = cd $module ; make -j 1 $binary ; touch $binary"]
|
||||
l_string += [" command = {0}".format(" ; ".join(l_cmd))]
|
||||
l_string += [""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_binary_build(l_bin, path_module):
|
||||
def ninja_binary_build(l_bin, path_module, l_children):
|
||||
|
||||
l_src, l_obj = file_dependancy(path_module.rel)
|
||||
|
||||
str_src = " ".join(l_src)
|
||||
str_obj = " ".join(l_obj)
|
||||
|
||||
if not l_bin:
|
||||
return []
|
||||
@ -550,6 +540,8 @@ def ninja_binary_build(l_bin, path_module):
|
||||
|
||||
l_string += [" module = {0}".format(path_module.abs)]
|
||||
l_string += [" binary = {0}".format(path)]
|
||||
l_string += [" src = '{0}'".format(str_src)]
|
||||
l_string += [" obj = '{0}'".format(str_obj)]
|
||||
l_string += [""]
|
||||
|
||||
str_l_abs_bin = " ".join(l_abs_bin)
|
||||
@ -577,22 +569,24 @@ def ninja_build_executable_list(l_module):
|
||||
return l_string
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
pwd_config_file = sys.argv[1]
|
||||
|
||||
# _
|
||||
# |_) | _
|
||||
# | \ |_| | (/_
|
||||
#
|
||||
l_string = ninja_makefile_depend_rule()
|
||||
l_string += ninja_ezfio_cfg_rule()
|
||||
l_string = ninja_ezfio_cfg_rule()
|
||||
|
||||
l_string += ninja_symlink_rule()
|
||||
|
||||
l_string += ninja_irpf90_make_rule()
|
||||
l_string += ninja_irpf90_make_rule(pwd_config_file)
|
||||
l_string += ninja_readme_rule()
|
||||
|
||||
l_string += ninja_binary_rule()
|
||||
l_string += ninja_binary_rule(pwd_config_file)
|
||||
|
||||
l_string += ninja_ezfio_config_rule()
|
||||
l_string += ninja_ezfio_rule()
|
||||
l_string += ninja_ezfio_rule(pwd_config_file)
|
||||
|
||||
# l_string += ninja_ocaml_rule()
|
||||
|
||||
@ -630,8 +624,6 @@ if __name__ == "__main__":
|
||||
|
||||
l_source, l_destination = get_source_destination(l_children, module)
|
||||
|
||||
l_string += ninja_makefile_depend_build(l_children, module)
|
||||
|
||||
# irpf90.make
|
||||
l_string += ninja_symlink_build(l_source, l_destination, module)
|
||||
|
||||
@ -640,7 +632,7 @@ if __name__ == "__main__":
|
||||
|
||||
# ninja_binary
|
||||
l_binary = get_program(module)
|
||||
l_string += ninja_binary_build(l_binary, module)
|
||||
l_string += ninja_binary_build(l_binary, module, l_children)
|
||||
if l_binary:
|
||||
l_module_with_binary.append(module.rel)
|
||||
|
||||
|
@ -3,30 +3,23 @@
|
||||
|
||||
import os
|
||||
import ConfigParser
|
||||
import sys
|
||||
from cache import cache
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
|
||||
Config = ConfigParser.ConfigParser()
|
||||
pwd = os.path.join(qpackage_root, "scripts/compilation/compilation.cfg")
|
||||
Config.read(pwd)
|
||||
|
||||
|
||||
@cache
|
||||
def get_l_option_section():
|
||||
return [o for o in ['OPENMP', 'PROFILE', 'DEBUG'] if Config.getboolean("OPTION", o)]
|
||||
def get_l_option_section(config):
|
||||
return [o for o in ['OPENMP', 'PROFILE', 'DEBUG'] if config.getboolean("OPTION", o)]
|
||||
|
||||
|
||||
@cache
|
||||
def get_compilation_option(name):
|
||||
def get_compilation_option(pwd_cfg, flag_name):
|
||||
|
||||
l_option_section = get_l_option_section()
|
||||
config = ConfigParser.ConfigParser()
|
||||
config.read(pwd_cfg)
|
||||
|
||||
l_option_section = get_l_option_section(config)
|
||||
|
||||
l = []
|
||||
for section in ["COMMON"] + l_option_section:
|
||||
try:
|
||||
l.extend(Config.get(section, name).split())
|
||||
l.extend(config.get(section, flag_name).split())
|
||||
except ConfigParser.NoOptionError:
|
||||
pass
|
||||
|
||||
@ -34,6 +27,7 @@ def get_compilation_option(name):
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
name = sys.argv[1]
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
pwd_cfg = os.path.join(qpackage_root, "scripts/compilation/compilation_ifort.cfg")
|
||||
|
||||
print get_compilation_option(name)
|
||||
print get_compilation_option(pwd_cfg, "FC")
|
||||
|
@ -8,8 +8,6 @@ of a NEEDED_CHILDREN_MODULES file
|
||||
|
||||
Usage:
|
||||
module_handler.py print_genealogy [<NEEDED_CHILDREN_MODULES>]
|
||||
module_handler.py save_makefile_depend [<NEEDED_CHILDREN_MODULES>]
|
||||
module_handler.py create_symlink [<NEEDED_CHILDREN_MODULES>]
|
||||
module_handler.py create_png [<NEEDED_CHILDREN_MODULES>]
|
||||
|
||||
Options:
|
||||
@ -25,10 +23,25 @@ from docopt import docopt
|
||||
import os
|
||||
import sys
|
||||
import os.path
|
||||
from cache import cache
|
||||
|
||||
from collections import namedtuple
|
||||
Dependancy = namedtuple('Dependancy', ['src', 'obj'])
|
||||
Module_info = namedtuple('Module_info', ['l_children', 'l_dependancy'])
|
||||
|
||||
|
||||
@cache
|
||||
def get_list_from_makefile(data, sep):
|
||||
# Split for sep
|
||||
dump = [l.split(sep)[1] for l in data if l.startswith(sep)]
|
||||
|
||||
# Delete the empy one
|
||||
l_unique = [k for k in map(str.strip, dump) if k]
|
||||
|
||||
# Return the flat one (if multi in l_unique)
|
||||
l_flat = [j for i in l_unique for j in i.split()]
|
||||
return l_flat
|
||||
|
||||
|
||||
# Canot cache for a fucking raison
|
||||
def get_dict_genealogy():
|
||||
"""Loop over MODULE in QPACKAGE_ROOT/src, open all the NEEDED_CHILDREN_MODULES
|
||||
and create a dict[MODULE] = [sub module needed, ...]
|
||||
@ -44,43 +57,32 @@ def get_dict_genealogy():
|
||||
with open(os.path.join(dir_, o, "NEEDED_CHILDREN_MODULES"), "r") as f:
|
||||
l_children = f.read().split()
|
||||
except IOError:
|
||||
pass
|
||||
else:
|
||||
d_ref[o] = l_children
|
||||
continue
|
||||
|
||||
try:
|
||||
with open(os.path.join(dir_, o, "Makefile"), "r") as f:
|
||||
data = f.readlines()
|
||||
l_depend = Dependancy(get_list_from_makefile(data, "SRC="),
|
||||
get_list_from_makefile(data, "OBJ="))
|
||||
except IOError:
|
||||
l_depend = []
|
||||
|
||||
d_ref[o] = Module_info(l_children, l_depend)
|
||||
|
||||
return d_ref
|
||||
|
||||
|
||||
def module_genealogy(path):
|
||||
"""
|
||||
Take a name of a NEEDED_CHILDREN_MODULES
|
||||
and return a list of all the {sub, subsub, ...}children
|
||||
"""
|
||||
try:
|
||||
with open(path, "r") as f:
|
||||
l_children = f.read().split()
|
||||
except IOError as e:
|
||||
print >> sys.stderr, e
|
||||
sys.exit(1)
|
||||
else:
|
||||
|
||||
needed_module = get_it_and_children(l_children)
|
||||
|
||||
return needed_module
|
||||
|
||||
|
||||
def get_it_and_children(l_module):
|
||||
def him_and_all_children(d_ref, l_module):
|
||||
"""
|
||||
From a list of module return the module and all of the genealogy
|
||||
"""
|
||||
d_ref = get_dict_genealogy()
|
||||
|
||||
l = []
|
||||
for module in l_module:
|
||||
if module not in l:
|
||||
l.append(module)
|
||||
try:
|
||||
l.extend(get_it_and_children(d_ref[module]))
|
||||
l.extend(him_and_all_children(d_ref, d_ref[module].l_children))
|
||||
except KeyError:
|
||||
print >> sys.stderr, "`{0}` in not a good submodule name".format(module)
|
||||
print >> sys.stderr, "Check the corresponding NEEDED_CHILDREN_MODULES"
|
||||
@ -89,96 +91,28 @@ def get_it_and_children(l_module):
|
||||
return list(set(l))
|
||||
|
||||
|
||||
def get_all_children(l_module):
|
||||
def module_genealogy(module_name):
|
||||
"""
|
||||
From a list of module return all the genealogy
|
||||
Take a name of a NEEDED_CHILDREN_MODULES
|
||||
and return a list of all the {sub, subsub, ...}children
|
||||
"""
|
||||
|
||||
it_and_all = get_it_and_children(l_module)
|
||||
return [children for children in it_and_all if children not in l_module]
|
||||
|
||||
|
||||
def reduce_(l_module):
|
||||
"""
|
||||
Take a l_module and try to find the lower combinaitions
|
||||
of module with the same genealogy
|
||||
"""
|
||||
import itertools
|
||||
d_ref = get_dict_genealogy()
|
||||
|
||||
target_genealogy = sorted(get_all_children(l_module))
|
||||
|
||||
for i in xrange(len(d_ref)):
|
||||
for c in itertools.combinations(d_ref, i):
|
||||
|
||||
guess_genealogy = sorted(get_it_and_children(d_ref, c))
|
||||
|
||||
if target_genealogy == guess_genealogy:
|
||||
return c
|
||||
return him_and_all_children(d_ref, d_ref[module_name].l_children)
|
||||
|
||||
|
||||
def get_list_depend(l_module):
|
||||
"""
|
||||
transform
|
||||
def file_dependancy(module_name):
|
||||
|
||||
SRC = Utils.f90 test.f90
|
||||
OBJ = IRPF90_temp/map_module.o
|
||||
d_ref = get_dict_genealogy()
|
||||
l_src, l_obj = d_ref[module_name].l_dependancy
|
||||
|
||||
into
|
||||
l_children_module = him_and_all_children(d_ref, d_ref[module_name].l_children)
|
||||
for module in l_children_module:
|
||||
l_src_dump, l_obj_dump = d_ref[module].l_dependancy
|
||||
l_src.extend("{0}/{1}".format(module, i) for i in l_src_dump)
|
||||
l_obj.extend("IRPF90_temp/{0}/{1}".format(module, os.path.basename(i)) for i in l_obj_dump)
|
||||
|
||||
['Utils/map_module.f90','test.f90']
|
||||
['IRPF90_tmp/Utils/map_module.o']
|
||||
"""
|
||||
|
||||
def get_list(sep):
|
||||
# Split for sep
|
||||
dump = [l.split(sep)[1] for l in data if l.startswith(sep)]
|
||||
|
||||
# Delete the empy one
|
||||
l_unique = [k for k in map(str.strip, dump) if k]
|
||||
|
||||
# Return the flat one (if multi in l_unique)
|
||||
l_flat = [j for i in l_unique for j in i.split()]
|
||||
return l_flat
|
||||
|
||||
qpackage_root = os.environ['QPACKAGE_ROOT']
|
||||
dir_ = os.path.join(qpackage_root, 'src')
|
||||
|
||||
l_src = []
|
||||
l_obj = []
|
||||
|
||||
for module in l_module:
|
||||
path = os.path.join(dir_, module, "Makefile")
|
||||
|
||||
with open(path, 'r') as f:
|
||||
data = f.readlines()
|
||||
|
||||
l_src.extend("{0}/{1}".format(module, i) for i in get_list("SRC="))
|
||||
|
||||
l_obj.extend(["IRPF90_temp/{0}/{1}".format(module, os.path.basename(i))
|
||||
for i in get_list("OBJ=")])
|
||||
|
||||
return l_src, l_obj
|
||||
|
||||
|
||||
def save_makefile_depend(l_src, l_obj, dir_):
|
||||
header = "# This file was created by the module_handler.py script. Do not modify it by hand."
|
||||
|
||||
try:
|
||||
with open("Makefile.depend", "r") as f:
|
||||
old_output = f.read()
|
||||
except IOError:
|
||||
old_output = None
|
||||
|
||||
output = "\n".join([header,
|
||||
"\n",
|
||||
"SRC+= {0}".format(" ".join(l_src)),
|
||||
"OBJ+= {0}".format(" ".join(l_obj)),
|
||||
"\n"])
|
||||
|
||||
if output != old_output:
|
||||
with open(os.path.join(dir_,"Makefile.depend"), "w+") as f:
|
||||
f.write(output)
|
||||
return Dependancy(l_src, l_obj)
|
||||
|
||||
|
||||
def create_png_from_path(path):
|
||||
@ -210,7 +144,7 @@ def create_png(l_module):
|
||||
edge = pydot.Edge(module, children)
|
||||
graph.add_edge(edge)
|
||||
# Recurs
|
||||
draw_module_edge(children, d_ref[children])
|
||||
draw_module_edge(children, d_ref[children].l_children)
|
||||
all_ready_done.append(module)
|
||||
|
||||
# Init
|
||||
@ -221,7 +155,7 @@ def create_png(l_module):
|
||||
for module in l_module:
|
||||
node_a = pydot.Node(module, fontcolor="red")
|
||||
graph.add_node(node_a)
|
||||
draw_module_edge(module, d_ref[module])
|
||||
draw_module_edge(module, d_ref[module].l_children)
|
||||
|
||||
# Save
|
||||
path = '{0}.png'.format("tree_dependancy")
|
||||
@ -247,22 +181,5 @@ if __name__ == '__main__':
|
||||
l_all_needed_molule = module_genealogy(path_file)
|
||||
print " ".join(sorted(l_all_needed_molule))
|
||||
|
||||
if arguments['create_symlink']:
|
||||
src = os.getcwd()
|
||||
|
||||
for link_name in module_genealogy(path_file) + ["include"]:
|
||||
|
||||
source = os.path.join("/home/razoa/quantum_package/src/",
|
||||
link_name)
|
||||
try:
|
||||
os.symlink(source, link_name)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
if arguments['save_makefile_depend']:
|
||||
l_all_needed_molule = module_genealogy(path_file)
|
||||
l_src, l_obj = get_list_depend(l_all_needed_molule)
|
||||
save_makefile_depend(l_src, l_obj, dir_)
|
||||
|
||||
if arguments["create_png"]:
|
||||
create_png_from_path(path_file)
|
||||
|
@ -28,7 +28,7 @@ Assumptions
|
||||
===========
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
* The AO coefficients in the EZFIO files are not necessarily normalized and are normalized after reading
|
||||
|
||||
@ -37,7 +37,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -48,7 +48,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`ao_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/ao_overlap.irp.f#L1>`_
|
||||
Overlap between atomic basis functions:
|
||||
|
@ -22,7 +22,7 @@ Assumptions
|
||||
===========
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
``bit_kind_shift``, ``bit_kind_size`` and ``bit_kind`` are coherent:
|
||||
|
||||
@ -38,7 +38,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -48,7 +48,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`is_a_two_holes_two_particles <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L206>`_
|
||||
Undocumented
|
||||
|
@ -15,7 +15,7 @@ Assumptions
|
||||
===========
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
* The MOs are orthonormal
|
||||
* All the determinants have the same number of electrons
|
||||
@ -30,7 +30,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -41,7 +41,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`copy_h_apply_buffer_to_wf <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/H_apply.irp.f#L103>`_
|
||||
Copies the H_apply buffer to psi_coef.
|
||||
|
@ -10,7 +10,7 @@ Assumptions
|
||||
===========
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
* ``elec_num`` >= 0
|
||||
* ``elec_alpha_num`` >= 0
|
||||
@ -22,7 +22,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -32,7 +32,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`elec_alpha_num <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/electrons.irp.f#L1>`_
|
||||
Numbers of alpha ("up") , beta ("down") and total electrons
|
||||
|
@ -9,7 +9,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`ezfio_filename <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/ezfio.irp.f#L1>`_
|
||||
Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment
|
||||
|
@ -8,7 +8,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`fcidump <http://github.com/LCPQ/quantum_package/tree/master/src/FCIdump/fcidump.irp.f#L1>`_
|
||||
Undocumented
|
||||
@ -19,7 +19,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
|
@ -7,7 +7,7 @@ Assumptions
|
||||
===========
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
The active space is defined by the ``reference_bitmask``.
|
||||
|
||||
@ -16,7 +16,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS/generators.irp.f#L3>`_
|
||||
Number of generator detetrminants
|
||||
@ -41,7 +41,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
|
@ -14,7 +14,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -26,7 +26,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1>`_
|
||||
integral of the AO basis <ik|jl> or (ij|kl)
|
||||
|
@ -2,7 +2,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -13,7 +13,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`ao_mono_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec/ao_mono_ints.irp.f#L1>`_
|
||||
array of the mono electronic hamiltonian on the AOs basis
|
||||
|
@ -6,7 +6,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -16,7 +16,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`h_core_guess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess/H_CORE_guess.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
@ -22,7 +22,7 @@ Assumptions
|
||||
===========
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
ASSUMPTONS
|
||||
==========
|
||||
@ -34,7 +34,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -45,7 +45,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`cholesky_mo <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/cholesky_mo.irp.f#L1>`_
|
||||
Cholesky decomposition of AO Density matrix to
|
||||
|
@ -1,12 +1 @@
|
||||
# Include the user's config
|
||||
include $(QPACKAGE_ROOT)/src/Makefile.config
|
||||
|
||||
# Define the Makefile common variables
|
||||
EZFIO_DIR=$(QPACKAGE_ROOT)/EZFIO
|
||||
EZFIO=$(EZFIO_DIR)/lib/libezfio_irp.a
|
||||
|
||||
LIB+=$(EZFIO) $(MKL)
|
||||
IRPF90+=$(patsubst %, -I %, $(INCLUDE_DIRS)) $(IRPF90_FLAGS)
|
||||
|
||||
include Makefile.depend
|
||||
include irpf90.make
|
||||
|
@ -6,7 +6,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`print_mos <http://github.com/LCPQ/quantum_package/tree/master/src/Molden/print_mo.irp.f#L1>`_
|
||||
Undocumented
|
||||
@ -29,7 +29,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
|
@ -10,7 +10,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
@ -20,7 +20,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`element_name <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L215>`_
|
||||
Array of the name of element, sorted by nuclear charge (integer)
|
||||
|
@ -6,7 +6,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependancy.png
|
||||
|
||||
|
@ -8,7 +8,7 @@ Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. update_README.py.
|
||||
.. NEEDED_MODULES_CHILDREN file by the `update_README.py` script.
|
||||
|
||||
`apply_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L168>`_
|
||||
Apply the rotation found by find_rotation
|
||||
|
Loading…
Reference in New Issue
Block a user