# makefile for nssl_porcess
#!/bin/sh -v

# Define the fortran compiler and options

WRFPATH    = /nwprod/sorc/wrf_shared.fd
FC       = mpfort -g 
CPP      = /lib/cpp -P
ARCH     =
FLAGS    = -O3 -fp-model precise -assume byterecl -fpe0 -DLINUX
CPPFLAGS =  -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -D_UNDERSCORE
NWPLIBS =/nwprod/lib -lbufr_d_64 -lg2tmpl -lg2_4 -ljasper -lpng -lz -lbacio_4 -lw3emc_v2.0.3_4

INCLD=  -I${NETCDF}/include -I$(WRFPATH)/frame \
        -I/nwprod/lib/incmod/g2_4 -I/nwprod/lib/incmod/g2tmpl
LIBS =  -L${NWPLIBS} \
        $(WRFPATH)/external/io_netcdf/libwrfio_nf.a \
        ${WRFPATH}/frame/pack_utils.o \
        -L${NETCDF}/lib -lnetcdf

OBJS = kinds.o constants.o write_bufr_ref.o process_NSSL_mosaic.o \
       netCDFsub.o netCDFsub_geo.o read_nssl_binary.o \
       read_grib2_mod.o read_ncep_binary.o

all: process_mosaic

process_mosaic: ${OBJS}
	${FC} -o rap_process_mosaic ${FLAGS} ${OBJS} ${LIBS} 

read_bufr: readbufr.o
	${FC} -o read_bufr.exe ${FLAGS} readbufr.o ${LIBS} 

write_bufr: write_bufr_ref.o write_bufr_test.o
	${FC} -o write_bufr.exe ${FLAGS} write_bufr_ref.o write_bufr_test.o  ${LIBS} 

.SUFFIXES : .F90 .f90 .f .c .o

.F90.o :
	${FC} ${FLAGS} ${INCLD} -c $<

.f90.o :
	${FC} ${FLAGS} ${INCLD} -c $<

.c.o :
	${CC} ${CPPFLAGS} -c $<

clean:
	/bin/rm -f *.o *.exe *.mod rap_process_mosaic