Philippe 08/07/2016: lfi2cdf: multiple bug corrections:
[MNH-git_open_source-lfs.git] / src / Rules.LXg95.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  = -r8 -g -fno-second-underscore -fpic
13 OPT_PERF0 = -O0
14 OPT_PERF2 = -O2
15 OPT_CHECK = -fbounds-check -ftrace=full -freal=nan -fpointer=invalid
16 OPT_I8     =  -i8
17 #
18 # Integer 4/8 option
19 #
20 MNH_INT   ?=4
21 LFI_RECL  ?=512
22 #
23 OPT_BASE_I4       := $(OPT_BASE)
24 ifeq "$(MNH_INT)" "8"
25 OPT_BASE          += $(OPT_I8)
26 LFI_INT           ?=8
27 MNH_MPI_RANK_KIND ?=8
28 else
29 MNH_MPI_RANK_KIND ?=4
30 LFI_INT           ?=4
31 endif
32 #
33 OPT       = $(OPT_BASE) $(OPT_PERF2) 
34 OPT0      = $(OPT_BASE) $(OPT_PERF0) 
35 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF2)
36 #
37 ifeq "$(OPTLEVEL)" "DEBUG"
38 OPT       = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
39 OPT0      = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
40 OPT_NOCB  = $(OPT_BASE) $(OPT_PERF0)
41 OBJS_NOCB += spll_mode_cover_301_573.o
42 endif
43 #
44 #
45 FC = g95
46 ifeq "$(VER_MPI)" "MPIAUTO"
47 F90 = mpif90   
48 else     
49 F90 = g95
50 endif
51 #
52 F90FLAGS      =  $(OPT) 
53 F77 = $(F90)
54 #F77FLAGS      =  $(OPT) -ffixed-line-length-132
55 F77FLAGS      =  $(OPT) 
56 FX90 = $(F90)
57 #FX90FLAGS     =  $(OPT) -ffixed-line-length-132
58 FX90FLAGS     =  $(OPT) 
59 #
60 LDFLAGS   =  -Wl,-warn-once
61 #
62 # preprocessing flags 
63 #
64 CPP = cpp -P -traditional -Wcomment
65 #
66 LFI_INT  ?=4
67 LFI_RECL ?=512
68 CPPFLAGS_SURFEX    =
69 CPPFLAGS_SURCOUCHE = -DMNH_MPI_DOUBLE_PRECISION -DMNH_LINUX -DMNH_MPI_BSEND -DDEV_NULL -DMNH_MPI_RANK_KIND=$(MNH_MPI_RANK_KIND)
70 CPPFLAGS_RAD       =
71 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX  -DLFI_INT=${LFI_INT} -DLFI_RECL=${LFI_RECL}
72 CPPFLAGS_MNH       = -DAINT=INT -DAMOD=MOD -DMNH
73 #
74 # Gribex flags
75 #
76 TARGET_GRIBEX=linux
77 CNAME_GRIBEX=g95
78 #
79 # LIBTOOLS flags
80 #
81 #if MNH_TOOLS exists => compile the tools
82 MNH_TOOLS = yes
83 #
84 ##########################################################
85 #                                                        #
86 # Source of MESONH PACKAGE  Distribution                 #
87 #                                                        #
88 ##########################################################
89 #DIR_SURCOUCHE   += ARCH_SRC/bug_surcouche
90 #DIR_MNH         += ARCH_SRC/bug_mnh
91 #DIR_RAD         += ARCH_SRC/bug_rad
92 #DIR_SURFEX      += ARCH_SRC/surfex
93 #
94 include Makefile.MESONH.mk
95 #
96 ##########################################################
97 #                                                        #
98 # extra VPATH, Compilation flag modification             #
99 #         systeme module , etc ...                       #
100 #         external precompiled module librairie          #
101 #         etc ...                                        #
102 #                                                        #
103 ##########################################################
104
105 ifneq "$(findstring 8,$(LFI_INT))" ""
106 OBJS_I8=spll_NEWLFI_ALL.o
107 $(OBJS_I8) : OPT = $(OPT_BASE) $(OPT_PERF2) $(OPT_I8)
108 endif
109
110 ifeq "$(MNH_INT)" "8"
111 OBJS_I4=spll_modd_netcdf.o
112 $(OBJS_I4) : OPT = $(OPT_BASE_I4)
113 endif
114