# General Makefile for EuroBen Benchmark V5.0.
#

SHELL   = /bin/sh

PROGRAMS = mod1a  mod1b  mod1e mod1f mod2a mod2as mod2am mod2b \
           mod2ci mod2cr mod2f mod2g mod2h mod2i 

state:
	@for prog in ${PROGRAMS} ;\
	do echo 'Moving state.f to' $${prog} ;\
	   cp ./basics/state.f $${prog} ;\
	done

numerics:
	@for prog in ${PROGRAMS} ;\
	do echo 'Moving numerics.f to' $${prog} ;\
	   cp ./basics/numerics.f $${prog} ;\
	done

clock:
	@for prog in ${PROGRAMS} ;\
	do echo 'Moving wclock.f to' $${prog} ;\
	    cp ./basics/wclock.f $${prog} ;\
	    cp ./basics/cclock.c $${prog} ;\
	done

make:
	@for prog in ${PROGRAMS} ;\
	do echo 'Making Makefile for' $${prog} ;\
	  ./install/MakeHeader $${prog} ;\
	  cat $${prog}/Makeframe >> $${prog}/Makefile ;\
	done

makeall:
	@for prog in ${PROGRAMS} ; \
	do echo ; \
	   (cd $${prog}; make) ; \
	done

runall:
	@for prog in ${PROGRAMS} ;\
	do ./xrun $${prog} ;\
	done

collect:
	@if  test ! -d Log.`hostname` ;\
	then mkdir Log.`hostname` ;\
	fi
	@for prog in ${PROGRAMS} ; \
	do if test -f $${prog}/$${prog}.log ;\
	   then echo Moving $${prog}.log to Log.`hostname` ;\
	        /bin/mv -f $${prog}/$${prog}.log Log.`hostname` ;\
	   fi ;\
	done

clean:
	@for prog in ${PROGRAMS} ; \
	do echo ; \
	   (cd $${prog}; make clean) ; \
	done

veryclean:
	@for prog in ${PROGRAMS} ; \
	do echo ; \
	   (cd $${prog}; make veryclean) ; \
	done

rmmake:
	@for prog in ${PROGRAMS} ;\
	do /bin/rm -f $${prog}/Makefile ;\
	   echo 'Makefile for' $${prog} 'removed' ;\
	done
