# Variables

export F9XC

# Intel ifort / Darwin
ARCH=ix86-Darwin-Intel
MODDIR=$(shell ifort_modpath)
F9XC=ifort
FFLAGS=$(addprefix -I,${MODDIR}) -O3 -heap-arrays
LDFLAGS=`ifort_hdf5_link` `ifort_lapack95_link`
FPX3FLAGS=-DDEBUG

# Intel gfortran / Darwin
#ARCH=ix86-Darwin-gcc
#MODDIR=$(shell gfortran_modpath)
#F9XC=gfortran
#FFLAGS=$(addprefix -I,${MODDIR}) -O3
#LDFLAGS=`gfortran_hdf5_link` `gfortran_lapack95_link`
#FPX3FLAGS=-DDEBUG

# Targets

TARGETS=rot_mesh specsyn_mesh grassy_mesh speccube_mesh

# Rules

VPATH=${MODDIR}

.PRECIOUS : %.f90

%.o : %.mod

%.f90 : %.fpp b3.inc
	./fpx3 ${FPX3FLAGS} < $< > $@

%.o %.mod : %.f90
	${F9XC} ${FFLAGS} ${MODINCS} -c $<

% : %.o
	${F9XC} ${FFLAGS} -o $@ $^ ${LDFLAGS}

all : ${TARGETS}

clean :
	rm -f ${TARGETS} $(addsuffix .f90,${TARGETS}) *.o *.mod \
          .depend b3_platform.inc f2kcli.f90 b3_*.f90

b3_platform.inc f2kcli.f90  :
	ln -sf arch/${ARCH}/$@ $@

# Dependencies

ifneq ($(MAKECMDGOALS),clean)
include .depend
endif

.depend : b3_platform.inc f2kcli.f90
	./fpx3_deps ${FPX3FLAGS} ${TARGETS} > .depend

iso_fortran_env.mod :
	echo "Null command"
