#
#	Macros, these should be generic for all machines

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

WRF_INCLUDE	=	-I$(WRF_DIR)/external/io_netcdf \
			-I$(WRF_DIR)/external/io_grib_share \
			-I$(WRF_DIR)/external/io_grib1 \
			-I$(WRF_DIR)/external/io_int \
			-I$(WRF_DIR)/inc

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

#	There is probably no reason to modify these rules

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

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

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

.F90.o:
	$(RM) $@ $*.mod
	$(CPP) $(CPPFLAGS) $(FDEFS) $(WRF_INCLUDE) $< > $*.f
	$(FC) $(FFLAGS) -c $*.f $(WRF_INCLUDE)
	$(RM) $*.f

.F.o:
	$(RM) $@ $*.mod
	$(CPP) $(CPPFLAGS) $(FDEFS) $(WRF_INCLUDE) $< > $*.f
	$(FC) $(FFLAGS) -c $*.f $(WRF_INCLUDE)
	$(RM) $*.f
