FC = gfortran
FFLAGS = -O0

CC = gcc
CFLAGS = -O3 -fomit-frame-pointer

TARGETS = a b parallel a0 matrixorder-good matrixorder-bad precision setfpu

all: $(TARGETS)

a: a-main.f a-sub.o
	$(FC) $(FFLAGS) -o a a-main.f a-sub.o

b: b-main.c b-sub.o
	$(CC) $(CFLAGS) -o b b-main.c b-sub.o /usr/local/gfortran/lib/libgfortran.a

parallel: parallel.f
	$(FC) $(FFLAGS) -o parallel parallel.f

a0: a0.tm
	CC=$(CC) mcc $(CFLAGS) -o a0 a0.tm

matrixorder-good: matrixorder.F
	$(FC) $(FFLAGS) -o matrixorder-good matrixorder.F

matrixorder-bad: matrixorder.F
	$(FC) $(FFLAGS) -o matrixorder-bad -DBAD matrixorder.F

precision: precision.f
	$(FC) $(FFLAGS) -o precision precision.f

setfpu: setfpu-main.f setfpu.o
	g77 -g -o setfpu setfpu-main.f setfpu.o


clean:
	$(RM) $(TARGETS) *.o

