# This is a makefile for GNU make.

# 1. Source files

VPATH = .
sources := $(shell cat ${VPATH}/file_list)

# 2. Objects and library

objects := $(sources:.f90=.o)

lib = libnumer_rec.a

# 3. Compiler-dependent part

FC = gfortran
FFLAGS = -fno-range-check -fdefault-real-8
version_flag = --version

# 4. Rules

SHELL = bash

%.o: %.f90
	$(COMPILE.f) $(OUTPUT_OPTION) $<

.DELETE_ON_ERROR:
.PHONY: all clean clobber depend

all: ${lib} log

${lib}: ${lib}(${objects})

depend ${VPATH}/depend.mk:
	makedepf90 -Wmissing -Wconfused -I${VPATH} -nosrc ${sources} >${VPATH}/depend.mk

clean:
	rm -f ${lib} ${objects} log

clobber: clean
	rm -f *.mod ${VPATH}/depend.mk

log:
	hostname >$@
	${FC} ${version_flag} >>$@ 2>&1
	echo -e "\nFC = ${FC}\n\nCPPFLAGS = ${CPPFLAGS}\n\nFFLAGS = ${FFLAGS}" >>$@

ifneq ($(MAKECMDGOALS), clobber)
include ${VPATH}/depend.mk
endif
