#
# Buildfile for standalone support
#

#include ../../../buildprefix

ALL10= libVsa10.a
ALLRAWIO= librawio.a
ALL= $(ALL10) $(ALLRAWIO) crt0.o xdeltacrt0.o

#ifdef X
VERSION=
#else
VERSION=
#endif X

INCLUDES = -I. -I../mi -I../../../libc/include/vax -I../../../libc/include/mi -I/xV/standalone/include

CFLAGS= -O $(VERSION) -DVAX -DENET10MEG -DMICROVAX -DSTANDALONE $(INCLUDES)

OBJECTS= Vsasu.o context.o flushfill.o ints.o initints.o misc.o
OBJECTS10= enet10.o ikc10.o
OBJECTSRAWIO= rawio.o

# how to make a .o file from a .c file
.c.o:
	ccVAX $(CFLAGS) -c $*.c

# how to make a .o file from a .s file
.s.o:
	ccVAX $(CFLAGS) -c $*.s

# compile everything that needs it

all: $(ALL)

lint:
	lint $(CFLAGS) rawio.c enet10.c ../mi/ikc.c \
		../mi/flushfill.c ../mi/context.c ../mi/misc.c

mvax.hs: ../../../libc/include/vax/ipl.h
	cp ../../../libc/include/vax/ipl.h tmp.c
	ccVAX -S tmp.c
	rm tmp.c
	mv tmp.s mvax.hs

crt0.o: crt0.s mvax.hs
	ccVAX $(CFLAGS) -DINITINTS -E crt0.s | ${AS} -o crt0.o
	-ld -x -r crt0.o
	mv a.out crt0.o
	chmod 664 crt0.o

xdeltacrt0.o: crt0.s mvax.hs
	ccVAX $(CFLAGS) -DINITINTS -DXDELTA -E crt0.s | ${AS} -o xdeltacrt0.o
	-ld -x -r xdeltacrt0.o
	mv a.out xdeltacrt0.o
	chmod 664 xdeltacrt0.o

# objects
#	Specific to 10Mb Ethernet version
enet10.o: enet10.c
	ccVAX $(CFLAGS) $(CFLAGS10) -c enet10.c
ikc10.o: ../mi/ikc.c
	ccVAX $(CFLAGS) $(CFLAGS10) -o ikc10.o -c ../mi/ikc.c

#	Binaries common to all versions.
Vsasu.o: Vsasu.c
	ccVAX $(CFLAGS) -c Vsasu.c
rawio.o: rawio.c
	ccVAX $(CFLAGS) -c rawio.c

#	Machine independent binaries
flushfill.o: ../mi/flushfill.c
	ccVAX $(CFLAGS) -c ../mi/flushfill.c
context.o: ../mi/context.c
	ccVAX $(CFLAGS) -c ../mi/context.c
misc.o:	../mi/misc.c
	ccVAX $(CFLAGS) -c ../mi/misc.c

# The "libraries"
libVsa10.a: $(OBJECTS) $(OBJECTS10)
	rm -f libVsa10.a
	ar cr libVsa10.a $(OBJECTS) $(OBJECTS10)
	ranlib libVsa10.a

librawio.a: $(OBJECTSRAWIO)
	rm -f librawio.a
	ar cr librawio.a $(OBJECTSRAWIO)
	ranlib librawio.a

#	Samples of how to compile/load
test.o: ../mi/test.c
	ccVAX $(CFLAGS) -c ../mi/test.c

test10: test.o libVsa10.a
	ccVAX -o test10 test.o

# Standard buildfile entries
clean:
	rm -f *.o *.ls *.BAK *.CKP .emacs* .netupd* *.r *.d *.boot *.sym

install: all
	$(NETINSTALL) "$(ALL)" $(VSYS)/lib/vax
