
# You can change these.

FC      = ifort
FFLAGS  = -O -xS -DUNDERSCORE
CC      = icc
CFLAGS  = ${FFLAGS}

# You shouldn't change these unless you really know what you're doing.

SECOND_CPU_F   = second_cpu.f
SECOND_CPU_C   = second_cpu.c
SECOND_CPU_O   = second_cpu.o
SECOND_WALL_C  = second_wall.c
SECOND_WALL_O  = second_wall.o
TIMINGS_H      = timings.h
TIMINGS_F      = timings.f
TIMINGS_O      = timings.o
MATMATMULT_F90 = matmatmult.f90
MATMATMULT_O   = matmatmult.o
MATMATMULT_EXE = matmatmult

EXECUTABLE          = ${MATMATMULT_EXE}
EXECUTABLES         = ${EXECUTABLE}

default:	${EXECUTABLES}

clean:		
	rm -f ${EXECUTABLES} *.[oadD] *.[mM][oO][dD]

${MATMATMULT_EXE}:	${MATMATMULT_O} ${TIMINGS_O} ${SECOND_CPU_O}
	${FC} ${FFLAGS} -o ${MATMATMULT_EXE} \
	  ${MATMATMULT_O} ${TIMINGS_O} ${SECOND_CPU_O}

${MATMATMULT_O}:	${MATMATMULT_F90}
	${FC} ${FFLAGS} -c ${MATMATMULT_F90}

${TIMINGS_O}:	${TIMINGS_H} ${TIMINGS_F}
	${FC} ${FFLAGS} -c ${TIMINGS_F}

${SECOND_WALL_O}:	${SECOND_WALL_C}
	${CC} ${CFLAGS} -c ${SECOND_WALL_C}

${SECOND_CPU_O}:	${SECOND_CPU_C}
	${CC} ${CFLAGS} -c ${SECOND_CPU_C}

