# Makefile # To do: # - Generate different param.inc dynamically, as advertised # - Use Pencil's adapt-mkfile framework (also as advertised) .SUFFIXES: # clear builtin suffixes .SUFFIXES: .f90 .o .x FC=g95 FFLAGS=-O3 MOD_O = timings_module.o array_valued_module.o EXE = array-val-funcs.x ## Generic rules: ## .f90.x: $(FC) $(FFLAGS) $*.f90 $(MOD_O) -o $*.x .f90.o: $(FC) $(FFLAGS) $*.f90 -c -o $*.o ## Explicit rules: ## default: test code: $(EXE) test: code for x in $(EXE); do \ echo "$${x}:"; \ ./$${x}; \ done # Dependencies of executables [most or all will depend on $(MOD_O)]: array-val-funcs.x: array-val-funcs.f90 $(MOD_O) # Other stuff $(MOD_O): param.inc param.inc: Makefile @touch param.inc @printf "%s\n" \ '! param.inc' \ '!' \ '! Written by Makefile; if you edit this file, you get what you deserve.' \ '' \ 'integer, parameter :: nx=1024, niter=1000000' \ '' \ '! End of file' \ > param.inc clean: rm -rf *.o *.x *.mod rm -rf param.inc cleanall: clean cleann: cleanall # End of file