XMPF = xmpf90
FC = ifort

XMPFLAGS =-O2 --openmp -no-heap-arrays -xHost
FFLAGS = -O2 -openmp -no-heap-arrays -xHost
LDFLAGS = $(XMPFLAGS)

AOBJS = factor.o fft235.o  kernel.o  zfft1d.o pfactor.o
OBJS = main.o xmp-fft.o xmp-zfft1d.o random.o 
MOBJS = common.o

%.o: %.f90
	$(XMPF) $(XMPFLAGS) -c $< -o $@
%.o: %.f param.h
	$(FC) $(FFLAGS) -c $< -o $@

all: FFT

FFT: $(MOBJS) $(OBJS) $(AOBJS)
	$(XMPF) $(LDFLAGS) -o $@ $(OBJS) $(MOBJS) $(AOBJS)
	@echo "<><><><><><><><><><><><><><><><><><><><><><><><>"
	@echo "usage:  mpirun -n <Npe> FFTo <Datasize>"
	@echo "<><><><><><><><><><><><><><><><><><><><><><><><>"

clean:
	rm -f *.o *~ *.a *.mod *.xmod *.lst
	rm -rf __omni_tmp__/
	rm -f FFTo
