#
#	Macros, these should be generic for all machines

LN		=  ln -sf
MAKE		=  make -i -r
RM		=  /bin/rm -f
CP		=  /bin/cp
AR		=  ar 
MKDIR           =  /bin/mkdir -p

WRF_INCLUDE     =  -I$(WRF_DIR)/frame

WRF_LIB         =    $(WRF_DIR)/frame/module_internal_header_util.o \
                     $(WRF_DIR)/frame/pack_utils.o \
                     $(WRF_DIR)/frame/module_machine.o \
                     $(WRF_DIR)/main/libwrflib.a \
                     -L$(WRF_DIR)/external/io_int -lwrfio_int \
                     -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf


WRF_LIB2        =  CONFIGURE_GRIB2_LIBS
NETCDFPATH      =  CONFIGURE_NETCDF_PATH
NETCDFLIBS      =  CONFIGURE_NETCDF_LIBS $(NETCDF_PATH)
WRF_DIR         =  CONFIGURE_WRF_PATH


.IGNORE:
.SUFFIXES: .c .f .F .F90 .f90 .o .fpp

#	There is probably no reason to modify these rules

.c.o:
	$(RM) $@
	$(CC) $(CFLAGS2) -c $<	

.f.o:
	$(RM) $@ $*.mod
	$(FC) $(FFLAGS) -c $< 

.fpp.o:
	$(RM) $@ $*.mod $*.f
	$(CPP) $(CPP_FLAGS) $< > $*.f
	$(FC) $(FFLAGS) -c $*.f 
	$(RM) $*.f

.F.o:
	$(RM) $@ $*.mod
	$(CPP) $(CPP_FLAGS) $< > $*.f90
	$(F90) $(FFLAGS) -c $*.f90 
	$(RM) $*.f90

.F90.o:
	$(RM) $@ $*.mod
	$(CPP) $(CPP_FLAGS) $< > $*.f90
	$(F90) $(FFLAGS) -c $*.f90 
	$(RM) $*.f90

.f90.o:
	$(RM) $@ $*.mod
	$(F90) $(FFLAGS) -c $< 
