source: trunk/WRF.COMMON/WRFV2/external/io_int/makefile @ 3567

Last change on this file since 3567 was 11, checked in by aslmd, 14 years ago

spiga@svn-planeto:ajoute le modele meso-echelle martien

File size: 2.2 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 -c io_int.f
23                        /bin/rm -f module_internal_header_util.o
24                        /bin/rm -f intio_tags.h
25
26# this is just so we can get the .mod file, it will be recompiled in frame again as part of WRF frmwk
27module_internal_header_util.o :
28                        cp ../../frame/module_internal_header_util.F module_internal_header_util.b
29                        cp ../../inc/intio_tags.h intio_tags.h
30                        /bin/rm -f module_internal_header_util.f
31                        $(CPP1)  -I../ioapi_share module_internal_header_util.b > module_internal_header_util.f
32                        $(FC) $(FFLAGS) -I. -c module_internal_header_util.f
33                        /bin/rm -f module_internal_header_util.b
34
35diffwrf:                diffwrf.F ../../frame/pack_utils.o ../../frame/module_machine.o ../../frame/module_wrf_error.o \
36                                ../../frame/wrf_debug.o libwrfio_int.a $(ESMF_MOD_DEPENDENCE)
37                        if [ -f ../../frame/pack_utils.o ] ; then \
38                        mv diffwrf.F diffwrf.F90    ; \
39                        $(CPP1)  -I../ioapi_share diffwrf.F90 > diffwrf.f  ; \
40                        $(SFC) -c $(FFLAGS) -I../ioapi_share diffwrf.f    ; \
41                        mv diffwrf.F90 diffwrf.F ; \
42                        $(SFC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) \
43                        ../../frame/pack_utils.o ../../frame/module_internal_header_util.o \
44                        ../../frame/module_driver_constants.o \
45                        ../../frame/module_machine.o ../../frame/wrf_debug.o ../../frame/module_wrf_error.o \
46                        $(ESMF_IO_LIB_EXT) ; fi
47
48../../frame/pack_utils.o ../../frame/internal_header_util.o ../../frame/module_machine.o ../../frame/module_wrf_error.o \
49../../frame/wrf_debug.o $(ESMF_MOD_DEPENDENCE) :
50                        @echo "Diffwrf io_int will be built later on in this compile. No need to rerun compile. "
51
52superclean:
53                        /bin/rm -f *.f *.o *.mod libwrfio_int.a diffwrf
Note: See TracBrowser for help on using the repository browser.