# Make a xenix.  Options:
#
#	OPT=		-O to use optimizer
#	GEN=		-DGENERIC to make generic main()
#	DBG=		-DDEBUG to compile in debug-code
#	TRFLAGS=	-DDEBUGSC for debug sys-call code in mdep/trap.c
#			-DCHKSTK to compile "chkstk" version of kernel
#       CFG=            c.o c215.o c534.o ... (or your choice)
#

DBG=
AS=	as
GEN=	-DGENERIC
OPT=    -O
TRFLAGS="-DCHKSTK"

CFLAGS= -O -K1024 
AFLAGS= 
LFLAGS=	-i -M -m xenix.map -C -S 

CFG=    ../cfg/*.o
IO=     ../io/LIBIO.a
SYS=    ../sys/LIBSYS.a
MDEP=   ../mdep/LIBMDEP.a
CONF=   wub.o mch.o c.o
UTIL=   gcpc.o cico.o

INCL=	../h/intr.h ../h/mmu.h ../h/clock.h ../h/usart.h \
	../h/param.h ../h/reg.h ../h/user.h

H=      ../h/acct.h ../h/buf.h ../h/callo.h \
	../h/chars.h ../h/clock.h ../h/conf.h \
	../h/dir.h ../h/fblk.h ../h/file.h ../h/filsys.h \
	../h/i215.h ../h/i534.h ../h/lp330.h \
	../h/ino.h ../h/inode.h ../h/intr.h \
	../h/map.h ../h/mmu.h ../h/mount.h ../h/mpx.h ../h/mx.h \
	../h/param.h ../h/pk.h ../h/prim.h ../h/proc.h ../h/reg.h  \
	../h/sites.h ../h/sm.h ../h/stat.h ../h/systm.h ../h/text.h \
	../h/timeb.h ../h/tty.h ../h/types.h ../h/usart.h ../h/user.h

.SUFFIXES: .o .a86 .c

.c.o:   ; $(CC) $(DBG) $(CFLAGS) $(OPT) -c -o $@ $*.c

xenix:  $(CONF) $(CFG) $(UTIL) $(MDEP) 
	ld $(LFLAGS) -o xenix seg.o \
		$(CONF) $(UTIL) \
		signal.o	\
		-l ../8087/lib_8087  \
		-l $(MDEP) -l $(IO) -l $(SYS) $(CFG)  \
		../libc/*.o
	./nlcv xenix.sym xenix
	./rkseg xenix

c.o:    c.c $H

cico.o:  cico.s
	$(AS)  cico.s

wub.o:  wub.s
	$(AS)  wub.s

mch.o:  mch.s sym.inc
	$(AS) mch.s

sym.inc: sym.c sym.s acmd
	cat sym.c sym.s >sym.t
	awk -f acmd sym.t >sym.inc

sym.s: sym.c ../h/param.h ../h/systm.h ../h/dir.h ../h/user.h ../h/proc.h \
	     ../h/mmu.h ../h/intr.h ../h/reg.h ../h/clock.h
	cc -S sym.c


