
# These sub-directory builds are identical across all architectures
wrfio_esmf :
	( cd ../external/io_esmf ; \
	make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" RANLIB="$(RANLIB)" CPP="$(CPP) $(POUND_DEF) " )


#
#	Macros, these should be generic for all machines

LN	=	ln -sf
MAKE	=	make -i -r
RM	= 	rm -f

#	There is probably no reason to modify these rules

wrf_ioapi_includes :
	( cd ../external/ioapi_share ; \
	$(MAKE) NATIVE_RWORDSIZE="$(NATIVE_RWORDSIZE)" RWORDSIZE="$(RWORDSIZE)" )

.F.i:
	$(RM) $@
	$(CPP) -I../inc $(CPPFLAGS) $*.F > $@
	mv $*.i $(DEVTOP)/pick/$*.f90
	cp $*.F $(DEVTOP)/pick

.F.o:
	$(RM) $@
	$(SED_FTN) $*.F > $*.b 
	$(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
	$(RM) $*.b
	$(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90
#PGI	if [ ! -e $@ ] ; then \
#PGI	sleep 10 ; $(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
#PGI	fi
#PGI	if [ ! -e $@ ] ; then \
#PGI	sleep 10 ; $(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
#PGI	fi

.F.f90:
	$(RM) $@
	$(SED_FTN) $*.F > $*.b 
	$(CPP) -I../inc $(CPPFLAGS) $*.b  > $@
	$(RM) $*.b

.f90.o:
	$(RM) $@
	$(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90
#PGI	if [ ! -e $@ ] ; then \
#PGI	sleep 10 ; $(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
#PGI	fi
#PGI	if [ ! -e $@ ] ; then \
#PGI	sleep 10 ; $(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
#PGI	fi

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

