source: trunk/WRF.COMMON/WRFV3/external/io_int/makefile

Last change on this file 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: 2.5 KB
Line 
1#makefile to build io_int that does binary i/o
2
3OBJSL   = io_int.o
4OBJS    = $(OBJSL)
5FFLAGS  = $(FCFLAGS)
6LIBS    = 
7CPP1    = $(CPP) $(TRADFLAG)
8M4      = m4 -Uinclude -Uindex -Ulen
9AR      = ar
10
11.SUFFIXES:      .F90 .F .f .o .code
12
13all : libwrfio_int.a diffwrf
14
15libwrfio_int.a:         $(OBJS)
16                        /bin/rm -f libwrfio_int.a
17                        $(AR) cr libwrfio_int.a $(OBJSL)
18                        $(RANLIB) libwrfio_int.a
19
20io_int.o:               io_int.F90 module_internal_header_util.o
21                        $(CPP1)  -I../ioapi_share io_int.F90 | $(M4) - > io_int.f
22                        $(FC) $(FFLAGS) -I. -I../ioapi_share -o $@ -c io_int.f
23                        /bin/rm -f intio_tags.h
24
25# this is just so we can get the .mod file, it will be recompiled in frame again as part of WRF frmwk
26module_internal_header_util.o :
27                        cp ../../frame/module_internal_header_util.F module_internal_header_util.b
28                        cp ../../inc/intio_tags.h intio_tags.h
29                        /bin/rm -f module_internal_header_util.f
30                        $(CPP1)  -I../ioapi_share module_internal_header_util.b > module_internal_header_util.f
31                        $(FC) $(FFLAGS) -I. -o $@ -c module_internal_header_util.f
32                        /bin/rm -f module_internal_header_util.b
33
34diffwrf:                diffwrf.F ../../frame/pack_utils.o ../../frame/module_machine.o ../../frame/module_wrf_error.o \
35                                ../../frame/wrf_debug.o libwrfio_int.a $(ESMF_MOD_DEPENDENCE)
36                        if [ -f ../../frame/pack_utils.o ] ; then \
37                        mv diffwrf.F diffwrf.F90    ; \
38                        x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \
39                        if [ $$x = "gfortran" ] ; then \
40                          echo removing external declaration of iargc for gfortran ; \
41                          $(CPP1)  -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f  ; \
42                        else \
43                          $(CPP1)  -I../ioapi_share diffwrf.F90 > diffwrf.f  ; \
44                        fi ; \
45                        $(FC) -c $(FFLAGS) -I../ioapi_share diffwrf.f    ; \
46                        mv diffwrf.F90 diffwrf.F ; \
47                        $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) \
48                        ../../frame/pack_utils.o ../../frame/module_internal_header_util.o \
49                        ../../frame/module_driver_constants.o \
50                        ../../frame/module_machine.o ../../frame/wrf_debug.o ../../frame/module_wrf_error.o \
51                        $(ESMF_IO_LIB_EXT) ; fi
52
53../../frame/pack_utils.o ../../frame/internal_header_util.o ../../frame/module_machine.o ../../frame/module_wrf_error.o \
54../../frame/wrf_debug.o $(ESMF_MOD_DEPENDENCE) :
55                        @echo "Diffwrf io_int will be built later on in this compile. No need to rerun compile. "
56
57superclean:
58                        /bin/rm -f *.f *.o *.obj *.i *.mod libwrfio_int.a diffwrf
Note: See TracBrowser for help on using the repository browser.