CC?=gcc FC = mpif90 LD?=ld PYTHON?=python3 BLOCKSIZE?=32 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\ post.o # Objects OBJ = post_dns.o # Data Objects ODATA = build_info.odata latex_equations.odata Post_Cbar_FSD_Incomp : x-edge-cold-bc-uPrime-hybrid x-edge-cold-bc-uPrime-hybrid : ${MODULES} ${OBJ} print_build_info.o ${ODATA} ${FC} -o x-edge-cold-bc-uPrime-hybrid ${flags} ${MODULES} ${OBJ} print_build_info.o ${ODATA} ${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 clean: rm -f *.o *.odata *.mod x-edge-cold-bc-uPrime-hybrid test_calculate test_compact 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 test_compact : Compact.o test_compact.o ${FC} -o test_compact ${flags} Compact.o test_compact.o test_compact.o : Compact.o print_build_info.o : print_build_info.c ${CC} -c print_build_info.c %.odata : %.txt ${LD} -r -b binary -o $@ $< build_info.txt : ${TERMSPEC} ${PYTHON} code_gen/code_gen.py -b ${TERMSPEC} > $@ latex_equations.txt : ${TERMSPEC} ${PYTHON} code_gen/code_gen.py -x ${TERMSPEC} > $@