1.5 KiB
Compile
We need to create the file who contain all the tree dependencies for
the binaries. It’s not a MakeFile, but a Ninja file. (So don’t type
make
is hopeless, type ninja
instead)
The script to create the dependencies file (aka
build.ninja
) is create_ninja_build.py
.
What utilization of the code will you do?
If you only want the binaries (for production workflow) use the flag
--production
in when calling this script. It’s quickerElse if you are a developer and you want to be able to only compile one specific module use:
--development
Compilation Flag
You need to specify all the flag useful for the compilation: like the
optimization one, the mkl one .$QP_ROOT/config
contains
ifort.cfg
and gfortran.cfg
files which have
the compiler flags that will be used to compile the code. You can edit
these files to modify the compiling option. Put the file path when
calling create_ninja_build.py
Example to create the Ninja file
create_ninja_build.py --production $QP_ROOT/config/ifort.cfg
WARNING
For now reload this command if you add a IRP.f90
or
EZFIO.cfg
file or modify the
NEED_CHILDREN_MODULE
!
Compile
Just type ninja
if you are in $QP_ROOT
(or
ninja -f $QP_ROOT/build.ninja
elsewhere). The compilation
will take approximately 3 min.
If you have set the --developement
flag in a specific
module you can go in the corresponding IRPF90_temp and run
ninja
to only make the module and submodule binaries. (You
can use the -f
option too)
Now go in $QP_ROOT/ocaml
and type make