CC      = g++ -DGNU
CFLAGS  = -Wall -Wextra
DEBUG   = #-O3 #-g #-O3 # -DDEBUG -ggdb
METEOIODIR = ../../

LIBS      = -rdynamic -lstdc++ -ldl -L$(METEOIODIR)/lib -lmeteoio -ldl
INCLUDE=-I. -I$(METEOIODIR) -I$(METEOIODIR)/include

#####################
#	RULES
#####################
.cc.o: $*.cc $*.h
	$(CC) $(DEBUG) $(CFLAGS) -c $< $(INCLUDE)

%.o: %.cc
	$(CC) $(DEBUG) $(CFLAGS) -c $< $(INCLUDE)

#####################
#	TARGETS
#####################
all: benchmark iospeed f95_dynamic f95_static iospeed_c

benchmark: benchmark.o
	$(CC) $(DEBUG) $(CFLAGS) -o $@ benchmark.o ${LIBS}

iospeed: iospeed.o
	$(CC) $(DEBUG) $(CFLAGS) -o $@ iospeed.o ${LIBS}

f95_dynamic:
	gfortran f_iospeed_dynamic.f95 -o f_iospeed_dynamic

f95_static:
	gfortran f_iospeed.f95 -o f_iospeed_static

iospeed_c:
	gcc -c $(CFLAGS) io_speed.c
	gcc -o io_speed io_speed.o

clean:
	rm -rf *~ *.o  *.out benchmark iospeed f_iospeed_static f_iospeed_dynamic

