source: trunk/SOURCES/Fichiers-parametres/Makefile.catritz-gfortran-007.inc @ 15

Last change on this file since 15 was 4, checked in by dumas, 10 years ago

initial import GRISLI trunk

File size: 3.0 KB
Line 
1# Makefile de GRISLI avec gfortran
2
3
4# FT options de compilation
5# LK options de link
6
7# Rappel de quelques options interessantes
8#-------------------------------------------
9# faire imperativement attention a l'arithmetique
10
11# -fbacktrace
12#   Specify that, when a runtime error is encountered or a deadly
13#   signal is emitted (segmentation fault, illegal instruction, bus
14#   error or floating-point exception), the Fortran runtime library
15#   should output a backtrace of the error. This option only has
16#   influence for compilation of the Fortran main program.
17
18
19# -fbounds-check 
20#  Enable generation of run-time checks for array subscripts and
21#  against the declared minimum and maximum values. It also checks
22#  array indices for assumed and deferred shape arrays against the
23#  actual allocated bounds and ensures that all string lengths are
24#  equal for character array constructors without an explicit typespec.
25#
26#   -fcheck=bounds idem mais plus de possibilites dans le check
27
28
29#   Some checks require that -fbounds-check is set for the compilation
30#   of the main program.
31
32# -ffree-line-length-n
33#   Set column after which characters are ignored in typical free-form
34#   lines in the source file. The default value is 132. n may be none,
35#   meaning that the entire line is meaningful. -ffree-line-length-0
36#   means the same thing as -ffree-line-length-none.
37
38# -ffpe-trap=zero,overflow,underflow
39#  tells Fortran to trap the listed floating point errors (fpe). Having
40#  zero on the list means that if you divide by zero the code will die
41#  rather than setting the result to +INFINITY and
42#  continuing. Similarly, if overflow is on the list it will halt if
43#  you try to store a number larger than can be stored for the type of
44#  real number you are using because the exponent is too large.
45
46
47
48
49# le directory dans lequel sont les compilateurs et MKL
50# DIRLOCAL=/usr/local variable d'environnement a definir dans .bash_profile
51
52# la version d'Aurelien, mais il faut changer le netcdf
53#DIRLOCAL=/site
54#NETCDFHOME=/site/netcdf
55#HDF5_HOME=/site/hdf5
56
57# librairies
58
59NCDF_INC  = /usr/include
60NCDF_LIB  = -L/usr/lib -lnetcdff -lnetcdf
61# -lnetcdff -lnetcdf -lhdf5_hl -lhdf5
62
63
64MKL_LIB = -L/usr/local/lib -llapack -lblas  # Misha
65
66export $MKL_LIB, $NCDF_INC, $NCDF_LIB
67
68ARITHM = -O3 -mtune=core2 -mfpmath=sse  -ffpe-trap=zero,overflow # -fbacktrace  -fcheck=bound
69
70
71IFORT = gfortran
72
73#echo  '-I$(NCDF_INC)'
74#echo   $(NCDF_LIB)
75
76FT        = $(IFORT) $(ARITHM) -c -I$(NCDF_INC) $(NCDF_LIB) $(MKL_LIB)
77
78LK        = $(IFORT) $(ARITHM) -I$(NCDF_INC) $(NCDF_LIB)   $(MKL_LIB)
79
80F_NETCDF  = $(IFORT) $(ARITHM) -c -I$(NCDF_INC) $(NCDF_LIB)  $(MKL_LIB)
81
82
83
84Micha= -lsz -lm -lz  # options Micha
85# -lsz pourrait etre (szlib) un outil de compression hdf5 mais n'est pas installe (non libre)
86# -lz pourrait etre (zlib) un outi de compression netcdf et est installe
87# -lm  ???
88
89
90# les otions -m sont celles de gcc, voir aussi
91# http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
Note: See TracBrowser for help on using the repository browser.