SHELL = /bin/sh

# compiler and flags 
CC = gcc-5
CFLAGS = -g -Wall
FC = -gfortran
FFLAGS = -g -Wall -fbounds-check -fbacktrace
INC = -I/sw/include -Jmodules
LIBS = -L/sw/lib -lhdf5 -lhdf5_hl

objects/%.o : %.c
	$(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c $< -o objects/$*.o
objects/%.o : %.f90
	$(FC) $(FFLAGS) $(INC) -c $< -o objects/$*.o

OBJ = mt_attr.o mt_data.o mt_file.o mt_group.o mt_hdf.o mt_str.o mt_table.o

all: libmt.a

libmt.a: $(OBJ:%=objects/%)
	rm -f $@
	ar rv $@ $(OBJ:%=objects/%)
	ranlib $@

$(PREF): $(PREF).o
	cd objects;\
	ar rv ../libmt.a $(PREF).o;\
	rm $(PREF).o;
	ranlib libmt.a

test: test.o libmt.mod
	$(CC) -o test test.c libmt.a
clean: 
	/bin/rm -rf libmt.a objects/*

libmt.mod: libmt.f90
mt_attr.o: mt_attr.c
mt_data.0: mt_data.c
mt_file.o: mt_file.c
mt_group.o: mt_group.c
mt_hdf.o: mt_hdf.c
mt_str.o: mt_str.f90
mt_table.o: mt_table.c
mt_make_table.o: mt_make_table.c
