#	START NEW ARIX SCCS HEADER
#
#	@(#) makefile: version 25.1 created on 11/27/91 at 14:32:36
#
#	Copyright (c) 1990 by Arix Corporation
#	All Rights Reserved
#
#	@(#)makefile	25.1	11/27/91 Copyright (c) 1990 by Arix Corporation
#
#	END NEW ARIX SCCS HEADER
#

# IROOT is provided by the driving makefile or script OR
# for stand alone makes, PWD provide as a command line varible or
# environment varible (ksh).
# WARNING, pathnames should be absolute

IROOT	= $(PWD)/..
SHELL	= /bin/sh
include $(IROOT)/macdefs

# Local defaults.
# Local users of this makefile can turn off asserts by setting DEBUGOPT=""

MACH = M68020
UMACH = M68040
DEBUGOPT = -DASDEBUG=YES

IOPMLIB = $(IOPM)/jmplib.o

LOCAL_CFLAGS = -T3 -DSAK -DIOPM $(DEBUGOPT) -I$(IOPMINC)
#-------------------------------------------------------------
LINT_SFLAGS = -D $(SAK_FLAG) -D $(POSIX_FLAG) -D $(POSIX_S)
LINT_DFLAGS =	-D ASDEBUG=YES -D TTYDEBUG=1 -D IOPM
LINT_IFLAGS =	-I $(PWD) -I $(CHKSYS) -I $(IOPMINC) -I $(PMINC)

LINTFLAGS =	-ux $(LINT_IFLAGS) $(LINT_DFLAGS) $(LINT_SFLAGS)
SRCFILES   =	ttydvr.c ms_rtns.c ldterm.c lpdvr.c lpmod.c
MAKELIST =	ttydvr ldterm ldatt lpdvr lpmod

RELDIRS	= NDBG DBG

default: $(MAKELIST)
	($(PM)/makemap ttydvr; \
	$(PM)/makemap ldterm; \
	$(PM)/makemap ldatt; \
	$(PM)/makemap lpdvr; \
	$(PM)/makemap lpmod;) &

all: $(RELDIRS)
	@echo --- Now making nonASSERTed acdb files ---
	$(MAKE) clean
	$(MAKE) MACH=M68020 UMACH=M68040 DEBUGOPT="" $(MAKELIST)
	cp $(MAKELIST) NDBG
	@echo --- Now making ASSERTed acdb files ---
	$(MAKE) clean
	$(MAKE) MACH=M68020 UMACH=M68040 DEBUGOPT="-DASDEBUG=YES -DTTYDEBUG=1" \
		$(MAKELIST)
	cp $(MAKELIST) DBG

ttydvr: ttydvr.o ms_rtns.o mscode.o ttydvr.ifile
	$(LD) -o ttydvr -e ttydvrinit ttydvr.ifile \
		ttydvr.o ms_rtns.o mscode.o $(IOPMLIB)

ldterm: ldterm.o ldterm.ifile
	$(LD) -o ldterm -e ldterminit ldterm.ifile ldterm.o $(IOPMLIB)

ldatt: ldatt.o ldatt.ifile
	$(LD) -o ldatt -e ldattinit ldatt.ifile ldatt.o $(IOPMLIB)

lpdvr: lpdvr.o lpdvr.ifile
	$(LD) -o lpdvr -e lpdvrinit lpdvr.ifile lpdvr.o $(IOPMLIB)

lpmod: lpmod.o lpmod.ifile
	$(LD) -o lpmod -e lpmodinit lpmod.ifile lpmod.o $(IOPMLIB)

clobber:	clean
	rm -f DBG/* NDBG/*
	rm -f tags
	rm -f ttydvr.c
	rm -f ldterm.c
	rm -f lpmod.c

clean:
	-rm -f *.o $(MAKELIST) a.map

$(RELDIRS):
	mkdir $@

ttydvr.c: $(PM)/io/spmtydvr.c
	cp $(PM)/io/spmtydvr.c ttydvr.c

ldterm.c: $(PM)/io/ldterm.c
	cp $(PM)/io/ldterm.c ldterm.c

lpmod.c: $(PM)/io/lpmod.c
	cp $(PM)/io/lpmod.c lpmod.c

.c.o:
	cd $(<D); exec $(CC) $(CFLAGS) -c $(<F)

.c.s:
	cd $(<D); exec $(CC) $(CFLAGS) -S $(<F)
#-------------------------------------------------------------
a.o:	a.c
	$(CC) -g $(CFLAGS) a.c

a.map:	a.o
	nm -xv a.o > a.map
#-------------------------------------------------------------
lintlpm:
	lint $(LINTFLAGS) lpmod.c
linttym:
	lint $(LINTFLAGS) ldterm.c
lintlpd:
	lint $(LINTFLAGS) lpdvr.c
linttyd:
	lint $(LINTFLAGS) ttydvr.c ms_rtns.c

lintall: lintlpm linttym lintlpd linttyd

lint:
	lint $(LINTFLAGS) $(SRCFILES)
