...
Go into the executable directory you created above.
Whenever you want to create/modify an executable you need to set the model environment first:
...
Volet |
---|
For |
...
GEM4 |
...
with: |
...
. |
...
s.ssmuse.dot |
...
GEM/x/4.8.lts12 |
...
or |
...
the |
...
alias |
...
4812 |
...
For |
...
GEM5 |
...
with: |
...
. |
...
r.load.dot |
...
GEM/x/5.0 |
...
or the alias 500 |
a) Open experiment
First you have to "open the experiment" to do the initial setup, create files to find original source code, create links to the building directory and Makefiles etc. with:
Volet |
---|
ouv_exp_gem rdemklink -v |
You have to do this only once!
...
Then you need to create the dependencies (which routines include which include files and, vice versa, which include files are included in which routines). You need to redo this whenever you include another include file or add a routine!!!:
...
Volet |
---|
make |
...
dep |
...
It never hurts to redo this. It just takes time.
...
Whenever you modified or added one or more source code files you need to compile them to create the object file(s). To compile all routines that need compiling or to compile a modified module or include file execute:
...
Volet |
---|
make |
...
obj |
...
|
...
speed |
...
up |
...
this |
...
compilation |
...
on |
...
Beluga |
...
you |
...
can |
...
also |
...
use |
...
3 |
...
cpus |
...
with : |
...
|
...
-j3 |
...
obj |
...
make obj will (re)compile all routines that need compiling. It never hurts to use make obj, it just takes time.
If you modified only one subroutine all you need to do is recompile it with
Volet |
---|
...
make |
...
subroutine.o |
...
You can also compile several routines in the same "make" command: make subroutine1.o subroutine2.o
...
To (re)create the executable you need to load and link it with:
Volet |
---|
...
make |
...
gemdm |
...
To verify if the executable got created check its date and size with:
...