# ###############################################################
#
# Makefile for i860 using Portland Group compilers
# assumes BORLAND make Version 2.0 
#
# 4 MByte board version, Benchmarks
#
# Phil Atkin, DIVISION
# 6th jan 92
#
# ###############################################################

#
# board specific constants
#
BANNER=GT860-EL-CF-4
LDADDR=0x83600000
CDADDR=0xfff80000
PAGETABLE=c:\pgi\lib\crt0_4m.o

#
# compiler optimisation levels
#

COPT_LEVEL=4
FOPT_LEVEL=4

#
# macros
#
PGI=c:\pgi
INCLUDE=$(PGI)\include
BIN=$(PGI)\bin

CFLAGS=-x 50 -stdinc $(INCLUDE) -astype 1 -def i860 -opt $(COPT_LEVEL)
FFLAGS=-astype 1 -opt $(FOPT_LEVEL)
AFLAGS=-dos
LFLAGS=-dos -e pstart -k -T $(CDADDR) -d $(LDADDR) -t


##
# here are the general rules
#
# the compile / assemble passes for pgftn and pgc have been merged
##

.ss.s:
    macro.bat $*.ss $*.s

pxpl5opt.o : header.ss pxpl5asm.ss pxpl5tri.ss footer.ss
    copy header.ss+pxpl5asm.ss+pxpl5tri.ss+footer.ss pxpl5opt.ss
    macro.bat $*.ss $*.s
    $(BIN)\as860 $*.s $(AFLAGS) -o $*.o

.c.o:
           $(BIN)\pgc $*.c $(CFLAGS) -asm $*.s
           $(BIN)\as860 $(AFLAGS) -o $*.o $*.s

.s.o:
           $(BIN)\as860 $*.s $(AFLAGS) -o $*.o

.f.o:
           $(BIN)\pgftn $*.f $(FFLAGS) -asm $*.s
           $(BIN)\as860 $(AFLAGS) -o $*.o $*.s

.o.860:
           $(BIN)\ld860 $(PAGETABLE) -f $*.lnk $(LFLAGS) -o $*.860


opcodes.exe: opcodes.c
  ztc -e -bx -mx -DMS_DOS -Iw:\zortech\include $*.c

igc_opcd.h : opcodes.exe ..\..\unc\igc\igc_opcd.h
           opcodes ..\..\unc\igc\igc_opcd.h igc_opcd.h

#
# end
#

# Try adding compiler options -O4 -Mvect=recog

pxpl5tst.860:   pxpl5tst.o pxpl5opt.o pxpl5sup.o walltime.o

