PREFIX=$(HOME)

F90 = ifort
F90FLAGS = -g -CB -traceback -I${HDF5_serial}/include
CC = cc
CFLAGS = -O2 -Impiuni
LDFLAGS = -L. -L${HDF5_serial}/lib
LIBS =  -lfutils -lhdf5_fortran -lhdf5 -lz -lgcc_s -lcrypt -lssl
LIBS =  -lfutils -lhdf5_fortran -lhdf5 -lz -lmpiuni

.SUFFIXES:
.SUFFIXES: .o .c .f90

.f90.o:
	$(F90) $(F90FLAGS) -c $<

lib: libfutils.a getfile

getfile: getfile.o
	$(F90) $(LDFLAGS) -o $@ $<  $(LIBS)

libfutils.a: futils.o cutils.o buffer.o vis3d.o uniproc.o
	ar r $@ $?
	ranlib $@
	make -C mpiuni lib

futils.o: append.tpl zappend.tpl \
          putarr.tpl cputarr.tpl \
          getarr.tpl cgetarr.tpl
	$(F90) $(F90FLAGS) -Impiuni -c futils.f90

buffer.o: futils.o
	$(F90) $(F90FLAGS) -Impiuni -c buffer.f90

vis3d.o: futils.o
	$(F90) $(F90FLAGS) -Impiuni -c vis3d.f90

getfile.o:	libfutils.a

clean:
	rm -f *.o *~ a.out
	make -C mpiuni clean

distclean: clean
	rm -f $(SERIAL) ex6 getfile *.h5 *.a *.mod
	make -C mpiuni distclean
