# ###############################################################
#
# Makefile for i860 using Portland Group DOS 386 cross-compilers
# assumes BORLAND make Version 2.0 so may need modifying
#
# Phil Atkin, DIVISION
# 15th mar 1991
#

ROOT=c:\pgi
VRROOT=c:\dpl3
BIN=$(ROOT)\bin
INCLUDE=$(ROOT)\include
LIB=$(ROOT)\lib
LIBJOHN=c:\usr\john\gt860
LIBJOHN2=libjohn

#
# compiler optimisation level
#
OPT_LEVEL=2
OCFLAGS=-x 50 -stdinc $(INCLUDE) -astype 1 -def REMOTE -def i860 -opt 4 $(HRXFLAGS)
CFLAGS=-x 50 -stdinc $(INCLUDE) -astype 1 -def REMOTE -def i860 -opt $(OPT_LEVEL) $(HRXFLAGS)

AFLAGS=-dos
# pxpl5 flags
LJOHNFLAGS=-dos -e pstart -k -t

# renderer objects

SUPPOBJS=texture.o matrix.opt as860\control.o i860sem.o walltime.o dnc.o vrend.o names.o

VRENDOBJS=vr_remot.o vr_cull.opt vr_draw.opt billboard.o

VPXOBJS=pxpl5tri.o pxpl5sup\eof.o as860\optfloat.o pxpl5sup\pxpl5sup.o
#VPXOBJS=pxpl5tri.o pxpl5sup\eof.o as860\xflghtpr.o as860\optfloat.o pxpl5sup\pxpl5sup.o

NOTYETOBJS=as860\optfloat.o pp5rend.opt billboard.o

.ss.s:
   \d7314a\tools\icc /pp $*.ss > $*.s

# here are the general rules

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

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

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

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

.o.86p:
          $(BIN)\ld860 -f $*.lmk $(LJOHNFLAGS) -o $*.86p

.860.mng:
          i8602mng $*.860 $*.mng

#
# put the targets here
#

vrend.lmk :
                echo $(LIBJOHN2)\crt02xp.o    > vrend.lmk
                echo $(SUPPOBJS)   >> vrend.lmk
                echo $(VRENDOBJS)  >> vrend.lmk
                echo $(VPXOBJS)    >> vrend.lmk
                echo $(LIBJOHN2)\libcrt2.a   >> vrend.lmk
                echo $(LIB)\libm.a           >> vrend.lmk
                echo $(LIBJOHN2)\libc2.a     >> vrend.lmk
                echo $(LIBJOHN2)\libiser2.a  >> vrend.lmk
                echo $(LIB)\pgclib.a       >> vrend.lmk
                echo $(LIB)\crtn.o         >> vrend.lmk

#                echo $(NOTYETOBJS) >> vrend.lmk

# vrend.86p :  $(SUPPOBJS) $(VRENDOBJS) $(VPXOBJS) $(NOTYETOBJS)
vrend.86p :  $(SUPPOBJS) $(VRENDOBJS) $(VPXOBJS)

vrend.mng :  $(SUPPOBJS) $(VRENDOBJS) $(VPXOBJS) vrend.86p
   i8602mng vrend.86p vrend.mng
   copy vrend.mng c:\dpl3

clean    :
           touch *.c
           del *.860
           del *.mng

