Philippe 08/07/2016: lfi2cdf: multiple bug corrections:
[MNH-git_open_source-lfs.git] / src / Rules.AIX64.mk
1 #MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
3 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
4 #MNH_LIC for details. version 1.
5 ##########################################################
6 #                                                        #
7 # Compiler Options                                       #
8 #                                                        #
9 ##########################################################
10 #OBJDIR_PATH=/home/escj/azertyuiopqsdfghjklm/wxcvbn/azertyuiopqsdfghjklmwxcvbn 
11 #
12 OPT_BASE  = -q64 -qsigtrap -qfloat=nans \
13             -qflttrap=enable:overflow:zerodivide:invalid \
14             -qautodbl=dbl4 -qzerosize -g -qstrict -qfullpath -qspillsize=32648 \
15             -qinitauto=0 -qdpc=e -qmaxmem=-1 -qnoescape 
16             
17 OPT_PERF0 = -O0 -qnooptimize
18 OPT_PERF2 = -O2
19 OPT_PERF3 = -O3 -qarch=auto -qtune=auto -qnohot
20 OPT_PERF4 = -O3 -qarch=auto -qtune=auto -qhot -qsimd=auto -qnostrict
21 OPT_CHECK = -C
22 OPT_I8    = -qintsize=8
23 #
24 #
25 # Integer 4/8 option
26 #
27 MNH_INT   ?=4
28 LFI_RECL  ?=512
29 #
30 OPT_BASE_I4       := $(OPT_BASE)
31 ifeq "$(MNH_INT)" "8"
32 OPT_BASE          += $(OPT_I8)
33 LFI_INT           ?=8
34 MNH_MPI_RANK_KIND ?=8
35 else
36 MNH_MPI_RANK_KIND ?=4
37 LFI_INT           ?=4
38 endif
39 OPT       = $(OPT_BASE) $(OPT_PERF2) 
40 OPT0      = $(OPT_BASE) $(OPT_PERF0) 
41 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF2)
42 #
43 ifeq "$(OPTLEVEL)" "DEBUG"
44 OPT       = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
45 OPT0      = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
46 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF0)
47 endif
48 #
49 ifeq "$(OPTLEVEL)" "O3"
50 OPT       = $(OPT_BASE) $(OPT_PERF3)
51 OPT0      = $(OPT_BASE) $(OPT_PERF0)
52 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF3)
53 endif
54 #
55 ifeq "$(OPTLEVEL)" "O4"
56 OPT       = $(OPT_BASE) $(OPT_PERF4)
57 OPT0      = $(OPT_BASE) $(OPT_PERF0)
58 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF4)
59 OBJS2    += spll_mode_dustopt.o spll_mode_saltopt.o
60 $(OBJS2) :  OPT =  $(OPT_BASE)  $(OPT_PERF2)               
61 endif
62 #
63 #            
64 F90 = mpxlf95_r
65 F90FLAGS =       $(OPT) -qfree=f90 -qsuffix=f=f90 
66 F77 = $(F90)
67 F77FLAGS      =  $(OPT) -qfixed
68 FX90 = $(F90)
69 FX90FLAGS     =  $(OPT) -qfixed
70 FC = $(F90)
71 #
72
73 #
74 # vargas / c1a underscore management 
75 #
76 ifneq "$(findstring vargas,$(shell uname -n))" ""
77 LDFLAGS   =  $(OPT) -brename:.flush,.flush_ 
78 else
79 LDFLAGS   =  $(OPT) 
80 endif
81 #
82 # preprocessing flags 
83 #
84 CPP = /usr/lib/cpp -C -P -qlanglvl=classic
85 #
86 CPPFLAGS_SURFEX    =
87 CPPFLAGS_SURCOUCHE = -DMNH_MPI_DOUBLE_PRECISION -DMNH_LINUX -DMNH_SP4 -DMNH_MPI_RANK_KIND=$(MNH_MPI_RANK_KIND)
88 CPPFLAGS_RAD       =
89 CPPFLAGS_NEWLFI    = -DLINUX -DLFI_INT=${LFI_INT} -DLFI_RECL=${LFI_RECL}
90 CPPFLAGS_MNH       = -DAMAX1=MAX -DMNH
91 #
92 # Gribex flags
93 #
94 #TARGET_GRIBEX=rs6000
95 TARGET_GRIBEX=ibm_power4
96 CNAME_GRIBEX=""
97 #A64=A64
98 #
99 # LIBTOOLS flags
100 #
101 #if MNH_TOOLS exists => compile the tools
102 MNH_TOOLS = yes
103 #
104 ##########################################################
105 #                                                        #
106 # Source of MESONH PACKAGE  Distribution                 #
107 #                                                        #
108 ##########################################################
109 #DIR_SURFEX      += ARCH_SRC/surfex 
110 #DIR_SURCOUCHE   += ARCH_SRC/bug_surcouche
111 #
112 include Makefile.MESONH.mk
113 #
114 ##########################################################
115 #                                                        #
116 # extra VPATH, Compilation flag modification             #
117 #         systeme module , etc ...                       #
118 #         external precompiled module librairie          #
119 #         etc ...                                        #
120 #                                                        #
121 ##########################################################
122 OPT_PERF1  =  -O0 # option -O1 non encore supporté sur IBM !!!
123 OBJS_O1 += spll_aeroopt_get.o
124 $(OBJS_O1) : OPT = $(OPT_BASE) $(OPT_PERF1)
125
126 #OBJS_O0 += spll_compute_exner_from_ground3d.o  spll_compute_exner_from_ground1d.o spll_modi_set_rsou.o spll_set_rsou.o
127 OBJS_O0 += spll_compute_exner_from_ground1d.o 
128 $(OBJS_O0) : OPT = $(OPT_BASE) $(OPT_PERF0)
129
130 ifneq "$(findstring 8,$(LFI_INT))" ""
131 OBJS_I8=spll_NEWLFI_ALL.o
132 $(OBJS_I8) : OPT = $(OPT_BASE) $(OPT_PERF2) $(OPT_I8)
133 endif
134
135 ifeq "$(MNH_INT)" "8"
136 OBJS_I4=spll_modd_netcdf.o
137 $(OBJS_I4) : OPT = $(OPT_BASE_I4)
138 endif
139