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

RM       = /sbin/rm -f

ABI      = -n32
ISA      = -r10000 -mips4
ARCH     = $(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

HPFOPTS  = -Mstats -Msmp -Minfo=all -Mautopar -MO3
HPFFLAGS = $(ARCH) $(HPFOPTS)

LIBS     = -lfastm
LDFLAGS  = $(ARCH) $(HPFOPTS)
PROF     =

# objets
OBJS = \
	modscal.o \
	prod_hpf.o

# sources
SRCS = \
	modscal.hpf \
	prod_hpf.hpf

# regle de compilation
.f90.o:
	$(FC) $(FFLAGS) $< -c
.hpf.o:
	$(HPFC) $(HPFFLAGS) $< -c

# compilation - linking
EXEC = prod_hpf.exe
hpf:	$(OBJS)
	$(HPFC) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXEC)

clean:
	rm -fr $(EXEC) $(OBJS) *.mod

###
modscal.o: modscal.hpf
		$(HPFC) $(HPFFLAGS) modscal.hpf -c
prod_hpf.o: prod_hpf.hpf modscal.o
		$(HPFC) $(HPFFLAGS) prod_hpf.hpf -c
