source: trunk/WRF.COMMON/WRFV3/external/io_netcdf/makefile @ 2759

Last change on this file since 2759 was 2759, checked in by aslmd, 2 years ago

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

File size: 3.3 KB
Line 
1#makefile to build a wrf_io with netCDF
2
3OBJSL   = wrf_io.o field_routines.o module_wrfsi_static.o
4OBJS    = $(OBJSL)
5CODE    = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code
6FFLAGS  =  $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share
7LIBS    = -L$(NETCDFPATH)/lib -lnetcdf
8CPP1    = $(CPP) -C -P $(TRADFLAG)
9M4      = m4 -Uinclude -Uindex -Ulen
10AR      = ar
11
12.SUFFIXES:      .F90 .f .o .code
13
14all : libwrfio_nf.a
15
16libwrfio_nf.a:         $(OBJS) bitwise_operators.o $(CODE)
17                        /bin/rm -f $@
18                        if [ "$(AR)" != "lib.exe" ] ; then \
19                          $(AR) cr libwrfio_nf.a $(OBJSL) bitwise_operators.o ; \
20                        else \
21                          $(AR) /out:libwrfio_nf.a $(OBJSL) bitwise_operators.o ; \
22                        fi
23                        $(RANLIB) $@
24
25wrf_io.o:               wrf_io.F90 bitwise_operators.o $(CODE)
26                        grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\
27                        a=$$? ; export a ; \
28                        if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \
29                          $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \
30                        else \
31                          $(CPP1) -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \
32                        fi
33                        $(FC) -o $@ $(FFLAGS) -c wrf_io.f
34
35
36module_wrfsi_static.o:  module_wrfsi_static.F90
37                        $(CPP1) -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f
38                        $(FC) -o $@ $(FFLAGS) -c module_wrfsi_static.f
39
40bitwise_operators.o :
41        $(CC) -c $(CFLAGS) bitwise_operators.c
42
43# gfortran treats iargc as intrinsic, so get rid of external declaration in that case
44diffwrf:                diffwrf.F90
45        x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \
46        if [ $$x = "gfortran" ] ; then \
47           echo removing external declaration of iargc for gfortran ; \
48           $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\
49        else \
50           $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \
51        fi
52        $(FC) -c $(FFLAGS) diffwrf.f
53        @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) ] ; then \
54          echo "diffwrf io_netcdf is being built now. " ; \
55          if [ -f $(NETCDFPATH)/lib/libnetcdff.a ] ; then \
56            $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) bitwise_operators.o ../../frame/wrf_debug.o ../../frame/module_wrf_error.o $(ESMF_IO_LIB_EXT) $(LIBS) -lnetcdff ;\
57          else \
58            $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) bitwise_operators.o ../../frame/wrf_debug.o ../../frame/module_wrf_error.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\
59          fi ; \
60        else \
61           echo "***************************************************************************** " ; \
62           echo "*** Rerun compile to make diffwrf in external/io_netcdf directory         *** " ; \
63           echo "***************************************************************************** " ; \
64        fi
65
66field_routines.o:       field_routines.F90
67                        $(CPP1) -I../ioapi_share field_routines.F90 > field_routines.f
68                        $(FC) -o $@ $(FFLAGS) -c field_routines.f
69
70superclean:
71                        /bin/rm -f *.f *.o *.obj *.i testWRFWrite testWRFRead \
72                        *.mod libwrfio_nf.a diffwrf
Note: See TracBrowser for help on using the repository browser.