#! /usr/sbin/smake
SHELL    = /sbin/sh
FC       = f90
LD       = $(FC)

RM       = /sbin/rm -f

MP       =
ABI      = -n32
ISA      = -r10000 -mips4
PROC     = ip27
ARCH     = $(MP) $(ABI) $(ISA)
OLEV     = -O3
ODEB     = -O0

FOPT     = -OPT:IEEE_arithmetic=1:roundoff=0
FDEB     = -g3 -DEBUG:trap_uninitialized=ON:subscript_check=ON:div_check=3:verbose_runtime=ON
FFLAGS   = $(ARCH) $(OLEV) $(FOPT) -fullwarn -woff 878

LIBS     = -lfastm -lscs
LDFLAGS  = $(ARCH) $(OLEV)

SRC1D = \
	numerics.f90 \
	modfft.f90 \
	ccfft1d.f90 \
	ccmain1d.f90
SRC2D = \
	numerics.f90 \
	modfft.f90 \
	ccfft2d.f90 \
	ccmain2d.f90

OBJ1D = \
	numerics.o \
	modfft.o \
	ccfft1d.o \
	ccmain1d.o
OBJ2D = \
	numerics.o \
	modfft.o \
	ccfft2d.o \
	ccmain2d.o

all: 1d 2d

EXEC1D = acc1d.out
EXEC2D = acc2d.out

1d: $(OBJ1D)
	$(FC) $(LDFLAGS) -o $(EXEC1D) $(OBJ1D) $(LIBS)

2d: $(OBJ2D)
	$(FC) $(LDFLAGS) -o $(EXEC2D) $(OBJ2D) $(LIBS)

clean:
	$(RM) $(EXEC1D) $(EXEC2D) $(OBJ1D) $(OBJ2D) *.mod

.SUFFIXES: $(SUFFIXES) .f90

.f90.o:
	$(FC) $(FFLAGS) -c $<
###
numerics.o: numerics.f90
modfft.o:   modfft.f90   numerics.o
ccfft1d.o:  ccfft1d.f90  numerics.o modfft.o
ccfft2d.o:  ccfft2d.f90  numerics.o modfft.o
ccmain1d.o: ccmain1d.f90 numerics.o modfft.o
ccmain2d.o: ccmain2d.f90 numerics.o modfft.o

