MPICC ?= mpicc

SIONCONFIG ?= sionconfig

LDFLAGS_SER = $(LDFLAGS) $(shell ${SIONCONFIG} --libs --serial)
CFLAGS_SER = $(CFLAGS) $(shell ${SIONCONFIG} --cflags --serial)

LDFLAGS_MPI = $(LDFLAGS) $(shell ${SIONCONFIG} --libs --mpi)
CFLAGS_MPI = $(CFLAGS) $(shell ${SIONCONFIG} --cflags --mpi)

FLDFLAGS += $(shell ${SIONCONFIG} --libs --mpi --f90)
FCFLAGS += $(shell ${SIONCONFIG} --cflags --mpi --f90)

.PHONY: all
all: sionser sionpar # sionfortran

.PHONY: clean
clean:
	rm -rf sionpar sionser sionfortran a.* *.o

sionpar.o: sionpar.c
	$(MPICC) sionpar.c -c $(CFLAGS_MPI)

sionpar: sionpar.o
	$(MPICC) sionpar.o -o sionpar $(LDFLAGS_MPI)

sionser.o: sionser.c
	$(CC) sionser.c -c $(CFLAGS_SER)

sionser: sionser.o
	$(CC) sionser.o -o sionser $(LDFLAGS_SER)

sionfortran.o: sionfortran.f90
	$(MPIF90) sionfortran.f90 -c $(FCFLAGS)

sionfortran: sionfortran.o
	$(MPIF90) sionfortran.o -o sionfortran $(FLDFLAGS)
