CC?=gcc FC = mpif90 LD?=ld PYTHON?=python3 BLOCKSIZE?=16 TERMSPEC?=code_gen/terms.input ifdef CHECK flags += -fcheck=all endif ifdef DEBUG flags += -g else flags += -O3 endif flags += -cpp -DBLOCKSIZE=$(BLOCKSIZE) -Wall -ffree-line-length-0 -fdefault-integer-8 -fdefault-double-8 -fdefault-real-8 -march=native -fallow-argument-mismatch # Modules MODULES += \ m_openmpi.o\ Compact.o\ m_parameters.o\ m_calculate.o\ m_arrays.o\ m_terms.o\ m_build_info.o\ post.o # Objects OBJ = post_dns.o Post_Cbar_FSD_Incomp : x-edge-cold-bc-uPrime-hybrid x-edge-cold-bc-uPrime-hybrid : ${MODULES} ${OBJ} ${FC} -o x-edge-cold-bc-uPrime-hybrid ${flags} ${MODULES} ${OBJ} ${OBJ} : ${MODULES} m_terms.f90 : code_gen/code_gen.py ${TERMSPEC} code_gen/resources/m_template.py ${PYTHON} code_gen/code_gen.py ${TERMSPEC} > $@ %.o: %.f90 ${FC} -c ${flags} $< cleanAll: clean rm -f m_terms.f90 m_build_info.f90 clean: rm -f *.o *.odata *.mod x-edge-cold-bc-uPrime-hybrid test_calculate test_compact benchmark_transpose build_info.txt latex_equations.txt test : test_calculate ./test_calculate test_field : test_field.o m_openmpi.o m_parameters.o Compact.o m_calculate.o m_arrays.o ${FC} -o test_field ${flags} m_openmpi.o m_parameters.o Compact.o m_calculate.o m_arrays.o test_field.o test_calculate : test_calculate.o ${FC} -o test_calculate ${flags} m_openmpi.o m_parameters.o Compact.o m_calculate.o test_calculate.o test_calculate.o : m_openmpi.o m_parameters.o Compact.o m_calculate.o benchmark_transpose : benchmark_transpose.o ${FC} -o benchmark_transpose ${flags} m_openmpi.o m_parameters.o Compact.o m_calculate.o benchmark_transpose.o benchmark_transpose.o : m_openmpi.o m_parameters.o Compact.o m_calculate.o test_compact : Compact.o test_compact.o ${FC} -o test_compact ${flags} Compact.o test_compact.o test_compact.o : Compact.o m_build_info.f90 : ${TERMSPEC} code_gen/code_gen.py code_gen/post.py ${PYTHON} code_gen/code_gen.py -m ${TERMSPEC} > $@