source: trunk/WRF.COMMON/WRFV3/arch/postamble_new @ 2747

Last change on this file since 2747 was 2747, checked in by aslmd, 3 years ago

adding unmodified code from WRFV3.0.1.1, expurged from useless data +1M size

File size: 7.3 KB
Line 
1######################
2
3ARCHFLAGS       =    $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4                     $(ARCH_LOCAL) \
5                     $(DA_ARCHFLAGS) \
6                      CONFIGURE_DMPARALLEL \
7                      CONFIGURE_STUBMPI \
8                      CONFIGURE_NETCDF_FLAG \
9                      CONFIGURE_PNETCDF_FLAG \
10                      CONFIGURE_ESMF_FLAG \
11                      CONFIGURE_GRIB2_FLAG \
12                      CONFIGURE_RTTOV_FLAG \
13                      CONFIGURE_CRTM_FLAG \
14                      CONFIGURE_NESTOPT \
15                      -DGRIB1 \
16                      -DINTIO \
17                      -DLIMIT_ARGS \
18                      -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
19                      -DMAX_DOMAINS_F=$(MAX_DOMAINS) \
20                      -DNMM_NEST=$(WRF_NMM_NEST)
21CFLAGS          =    $(CFLAGS_LOCAL) CONFIGURE_DMPARALLEL CONFIGURE_STUBMPI
22FCFLAGS         =    $(FCOPTIM) $(FCBASEOPTS) $(OMP)
23ESMF_LIB_FLAGS  =    ESMFLIBFLAG
24ESMF_IO_LIB     =    ESMFIOLIB
25ESMF_IO_LIB_EXT =    ESMFIOEXTLIB
26INCLUDE_MODULES =    $(MODULE_SRCH_FLAG) \
27                     $(ESMF_MOD_INC) $(ESMF_LIB_FLAGS) \
28                      -I$(WRF_SRC_ROOT_DIR)/main \
29                      -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf \
30                      -I$(WRF_SRC_ROOT_DIR)/external/io_int \
31                      -I$(WRF_SRC_ROOT_DIR)/frame \
32                      -I$(WRF_SRC_ROOT_DIR)/share \
33                      -I$(WRF_SRC_ROOT_DIR)/phys \
34                      -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \
35                      CONFIGURE_CRTM_INC \
36                      CONFIGURE_RTTOV_INC
37REGISTRY        =    Registry
38
39LIB_BUNDLED     = \
40                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
41                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
42                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
43                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
44                     $(ESMF_IO_LIB) \
45                     $(ESMF_IO_LIB) \
46                     CONFIGURE_COMMS_LIB \
47                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \
48                     $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
49
50LIB_EXTERNAL    = \
51                     CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH CONFIGURE_GRIB2_LIB
52
53LIB             =    $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL)
54LDFLAGS         =    $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL) CONFIGURE_LDFLAGS
55ENVCOMPDEFS     =    CONFIGURE_COMPILEFLAGS
56CPPFLAGS        =    $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE
57NETCDFPATH      =    CONFIGURE_NETCDF_PATH
58PNETCDFPATH     =    CONFIGURE_PNETCDF_PATH
59
60bundled:  wrf_ioapi_includes wrfio_grib_share wrfio_grib1 wrfio_int esmf_time fftpack
61external:  CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF CONFIGURE_WRFIO_GRIB2 CONFIGURE_COMMS_EXTERNAL $(ESMF_TARGET)
62
63######################
64externals: bundled external
65
66gen_comms_serial :
67        ( /bin/rm -f $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
68
69module_dm_serial :
70        ( if [ ! -e module_dm.F ] ; then /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ; fi )
71
72gen_comms_rsllite :
73        ( if [ ! -e $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ] ; then \
74          /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
75          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; fi )
76
77module_dm_rsllite :
78        ( if [ ! -e module_dm.F ] ; then /bin/cp module_dm_warning module_dm.F ; \
79          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F ; fi )
80
81wrfio_nf :
82        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
83          make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
84          CC="$(SCC)" CFLAGS="$(CFLAGS)" \
85          FC="$(SFC) $(PROMOTION) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )
86
87wrfio_pnf :
88        ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \
89          make NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
90          FC="$(FC) $(PROMOTION) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )
91
92wrfio_grib_share :
93        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
94          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
95          FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" archive)
96
97wrfio_grib1 :
98        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
99          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
100          FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" archive)
101
102wrfio_grib2 :
103        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
104          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
105          CPP="$(CPP)" \
106          FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="-traditional" AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
107          FIXED="$(FORMAT_FIXED)" archive)
108
109wrfio_int :
110        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
111          make CC="$(CC)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
112          FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" \
113          TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" all )
114
115esmf_time :
116        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
117          make FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \
118          CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(ARCHFLAGS) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )
119
120fftpack :
121        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
122          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )
123
124$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
125        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CC="$(CC) $(CFLAGS)" \
126          FC="$(FC) $(FCFLAGS) $(PROMOTION) $(BYTESWAPIO)" \
127          CPP="$(CPP) -I. $(ARCHFLAGS) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ;\
128          $(RANLIB) $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a )
129
130######################
131#       Macros, these should be generic for all machines
132
133LN      =       ln -sf
134MAKE    =       make -i -r
135RM      =       rm -f
136
137
138# These sub-directory builds are identical across all architectures
139
140wrf_ioapi_includes :
141        ( cd $(WRF_SRC_ROOT_DIR)/external/ioapi_share ; \
142          $(MAKE) NATIVE_RWORDSIZE="$(NATIVE_RWORDSIZE)" RWORDSIZE="$(RWORDSIZE)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )
143
144wrfio_esmf :
145        ( cd $(WRF_SRC_ROOT_DIR)/external/io_esmf ; \
146          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" \
147          RANLIB="$(RANLIB)" CPP="$(CPP) $(POUND_DEF) " AR="$(AR)" ARFLAGS="$(ARFLAGS)" )
148
149#       There is probably no reason to modify these rules
150
151.F.i:
152        $(RM) $@
153        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $@
154        mv $*.i $(DEVTOP)/pick/$*.f90
155        cp $*.F $(DEVTOP)/pick
156
157.F.o:
158        $(RM) $@
159        $(SED_FTN) $*.F > $*.b
160        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
161        $(RM) $*.b
162        $(FC) -o $@ -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90
163
164.F.f90:
165        $(RM) $@
166        $(SED_FTN) $*.F > $*.b
167        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $@
168        $(RM) $*.b
169
170.f90.o:
171        $(RM) $@
172        $(FC) -o $@ -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90
173
174.c.o:
175        $(RM) $@
176        $(CC) -o $@ -c $(CFLAGS) $*.c
177
Note: See TracBrowser for help on using the repository browser.