#	Copyright (c) 1988 SBE, Inc.
#	  All Rights Reserved

# $HEADER$

#ident	"@(#)kern-port:makefile	$Revision: 1.1 $"

ROOT	= /usr
INC		= $(ROOT)/src/uts/m68k

#######################################################################
# SYSTEMS / RELEASE IDENTIFICATION
PROCESSOR = M68030
SYSTEM = VPU30
SYS    = SBE-UX
REL    = R3V1.C
VER    =`date +%m%d%y`
NODE   = dusty
NAME   = sbeunix
#######################################################################
# PERIPHERAL AND SYSTEMS OPTIONS
RFS    = 0        # Remote File Systems
HFD    = 0        # iSBX Floppy Controller
OMTT   = 1        # OMTI Disk/Tape Controller
TAPE   =     # Tapemaster 1000 1/2" Controller
COM8   = 1        # SBE 8-Port Communications Controller
SERX   = 0        # SBE iSBX 2-Port Serial IO Expansion Module
SNET   = 1        # SBE Network Communications via Spider & VLAN-E.
XNET   = 1        # SBE Network Communications via Spider & VCOM-4.
RAMD   = 1        # Ramdisk driver
#######################################################################

FPLIB    = fp
WIN      = 2      # OMTI/Adaptec SASI/SCSI Multiple Disciplane Driver

CFLAGS   = -O -I$(INC) -DINKERNEL
DIRS     = ROOT=$(ROOT) INC=$(INC)
SBESYS   = SYSTEM=$(SYSTEM) PROCESSOR=$(PROCESSOR) FPS=$(FPS) FPLIB=$(FPLIB) RFS=$(RFS)
SBEARGS  = NODE=$(NODE) REL=$(REL) VER=$(VER) NAME=$(NAME)
DISK     = HFD=$(HFD) WIN=$(WIN) RAMD=$(RAMD)
MTAPE    = OMTT=$(OMTT) TAPE=$(TAPE)
COMM     = COM8=$(COM8) SERX=$(SERX) SNET=$(SNET) XNET=$(XNET)

all: config locore nud fsys libio libos unix

config:
	@cd cf; $(MAKE) -f cf.gen $(DIRS) $(SBESYS) $(SBEARGS) $(DISK) $(MTAPE) $(COMM) config

locore:
	@echo ">> checking locore"
	@cd $(PROCESSOR)/ml; $(MAKE) -f ml.mk $(DIRS) $(SBESYS)

libos:
	@echo ">> checking os"
	@cd os; $(MAKE) -f os.mk $(DIRS) $(SBESYS) $(SBEARGS) all

nud:
	@echo ">> checking nudnix"
	@cd nudnix; $(MAKE) -f nudnix.mk $(DIRS) $(SBESYS) all

fsys:
	@echo ">> checking fsys"
	@cd fs; $(MAKE) -f fs.mk $(DIRS) $(SBESYS) all

libio:
	@echo ">> checking io"
	@cd io; $(MAKE) -f io.mk $(DIRS) $(SBESYS) $(SBEARGS) $(DISK) $(MTAPE) $(COMM)

unix:
	@ echo ">> making SBE-UX"
	@rm -f $(ROOT)/src/uts/m68k/$(PROCESSOR)/$(SYSTEM)cf/name.o
	@cd cf; $(MAKE) -f cf.gen $(DIRS) $(SBESYS) SYS=$(SYS) $(SBEARGS) $(DISK) $(MTAPE) $(COMM) unix

clean:
	cd cf; $(MAKE) -f cf.gen clean
	cd ml; $(MAKE) -f ml.mk clean
	cd os; $(MAKE) -f os.mk clean
	cd nudnix; $(MAKE) -f nudnix.mk clean
	cd io; $(MAKE) -f io.mk clean
	cd fs; $(MAKE) -f fs.mk clean
	cd debug; $(MAKE) -f debug.mk clean
	-rm -f *.o

clobber: clean
	cd cf; $(MAKE) -f cf.gen clobber
	cd ml; $(MAKE) -f ml.mk clobber
	cd os; $(MAKE) -f os.mk clobber
	cd io; $(MAKE) -f io.mk clobber
	cd nudnix; $(MAKE) -f nudnix.mk clobber
	cd fs; $(MAKE) -f fs.mk clobber
	cd debug; $(MAKE) -f debug.mk clobber
	-rm -f $(NAME) $(NAME).* ld.out load.*

install:
	chmod +w /unix
	-mv /unix /unixo
	cp $(PROCESSOR)/$(NAME) /unix
	chmod 444 /unix
	sync ; sync

unixnm:	$(PROCESSOR)/$(NAME)
	@echo ">> making:  unixnm"
	@-nm -x -v $(PROCESSOR)/$(NAME) | grep extern | cut -c1-10,26-31 > uv
	@split -56 uv
	@-paste xa[abcd] > $(PROCESSOR)/unixnm
	@-paste xa[efgh] >> $(PROCESSOR)/unixnm
	@-paste xa[ijkl] >> $(PROCESSOR)/unixnm
	@-paste xa[mnop] >> $(PROCESSOR)/unixnm
	@-paste xa[qrst] >> $(PROCESSOR)/unixnm
	@-paste xa[uvwx] >> $(PROCESSOR)/unixnm
	@-paste xa[yz] >> $(PROCESSOR)/unixnm
	@-nm -x -n $(PROCESSOR)/$(NAME) | grep extern | cut -c1-10,26-31 > un
	@split -56 un
	@-paste xa[abcd] >> $(PROCESSOR)/unixnm
	@-paste xa[efgh] >> $(PROCESSOR)/unixnm
	@-paste xa[ijkl] >> $(PROCESSOR)/unixnm
	@-paste xa[mnop] >> $(PROCESSOR)/unixnm
	@-paste xa[qrst] >> $(PROCESSOR)/unixnm
	@-paste xa[uvwx] >> $(PROCESSOR)/unixnm
	@-paste xa[yz] >> $(PROCESSOR)/unixnm
	@-rm uv un xa[a-z]

