#makefile to build a wrf-phdf5 with netCDF

OBJSL   = wrf-phdf5.o wrf-phdf5attr.o wrf-phdf5support.o
OBJS    = $(OBJSL)
OPTS    = -bmaxdata:0x80000000
FFLAGS  =  $(OPTS) -I$(PHDF5PATH)/lib 
FORTRANLIB=-I$(PHDF5PATH)/lib $(PHDF5PATH)/lib/libhdf5_fortran.a
LIBSHDF = $(FORTRANLIB) $(PHDF5PATH)/lib/libhdf5.a
LIB     =-lm -lz
CPP     = /lib/cpp -C -P $(TRADFLAG)
M4      = m4 -Uinclude -Uindex -Ulen
AR      = ar
RANLIB  = ranlib

.SUFFIXES:      .F90 .f .o .code

all : libwrfio_phdf5.a 

libwrfio_phdf5.a:		$(OBJS)
			/bin/rm -f libwrfio_phdf5.a
			$(AR) cr libwrfio_phdf5.a $(OBJSL)
			$(RANLIB) libwrfio_phdf5.a

wrf-phdf5support.o:      wrf-phdf5support.F90 
			$(CPP) wrf-phdf5support.F90 | $(M4) - > wrf-phdf5support.f
			$(FC) $(FFLAGS) -c wrf-phdf5support.f
wrf-phdf5attr.o:         wrf-phdf5attr.F90 wrf-phdf5support.o
			$(CPP) wrf-phdf5attr.F90 | $(M4) - > wrf-phdf5attr.f
			$(FC) $(FFLAGS) -c wrf-phdf5attr.f

wrf-phdf5.o:             wrf-phdf5.F90 wrf-phdf5attr.o wrf-phdf5support.o
			$(CPP) wrf-phdf5.F90 | $(M4) - > wrf-phdf5.f
			$(FC) $(FFLAGS) -c wrf-phdf5.f

superclean:
			/bin/rm -f *.f *.o *.mod libwrfio_phdf5.a \
			wrf_io_flags.h wrf_status_codes.h
