# Variables

export F9XC

# Intel ifort
ARCH=ix86-Linux-Intel
MODDIR=/usr/local/lib/fortran/ifort /usr/include/ /opt/intel/fce/10.1.018/include
F9XC=ifort
FFLAGS=$(addprefix -I,${MODDIR}) -O3 -traceback
LDFLAGS=-L/usr/local/lib/fortran/ifort/ -lhdf5_fortran -lhdf5 -lz \
        -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/ -lgcc_s \
        -L/usr/local/lib/fortran/ifort/ -llapack95 -llapack

# Rules

VPATH=${MODDIR}

.PRECIOUS : %.f90

%.o : %.mod

%.f90 : %.fpp b3.inc
	./fpx3 -DDEBUG < $< > $@

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

%.o : %.f
	$(F9XC) ${F77FLAGS} -c $<
% : %.o
	${F9XC} ${FFLAGS} -o $@ $^ ${LDFLAGS}

all : b3_kylie

clean :
	rm -f *.o *.mod b3_*.f90 b3_kylie.f90 .depend \
        b3_platform.inc f2kcli.f90 .depend b3_kylie

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

# Dependencies

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

.depend : b3_platform.inc f2kcli.f90
	./fpx3_deps b3_kylie > .depend

b3_kylie : klojob.o parser.o sstrip.o dtoupp.o

b3_kylie.o: angles.inc constants.inc kylie.compar_define.inc kylie.filcon_common.inc \
           kylie.filnam_common.inc kylie.wavfld_common.inc

klojob.o: kylie.compar_define.inc kylie.filcon_common.inc \
          kylie.filnam_common.inc kylie.wavfld_common.inc
