ifneq ($(FC), ifort) ifneq ($(FC), gfortran) ifneq ($(shell which ifort 2>/dev/null),) FC = ifort endif ifneq ($(shell which gfortran 2>/dev/null),) FC = gfortran endif endif endif ifndef FFLAGS ifeq ($(FC), gfortran) FFLAGS = -std=f2008 -Wall -pedantic -fbounds-check -fimplicit-none \ -ffree-form -O2 -I/usr/include -lfftw3 -lm endif ifeq ($(FC), ifort) FFLAGS = -std08 -module . -implicitnone -pedantic -check bounds \ -O2 -I/usr/include -lfftw3 -lm endif endif all : fourier pngs : res/f1_dft.png res/f1_original.png res/f2_dft.png \ res/f2_filtered.png res/f2_original.png fourier : src/fourier.f90 $(FC) $(FFLAGS) $^ -o $@ res/f1_original.txt : fourier ./fourier f1 > res/f1_original.txt res/f1_dft.txt : fourier ./fourier f1 dft > res/f1_dft.txt res/f2_original.txt : fourier ./fourier f2 > res/f2_original.txt res/f2_dft.txt : fourier ./fourier f2 dft > res/f2_dft.txt res/f2_filtered.txt : fourier ./fourier f2 filtered > res/f2_filtered.txt res/%.png : src/%.gnuplot res/%.txt gnuplot -c $< clean : -rm fourier res/*.txt .PHONY : all clean pngs