head     1.7;
branch   ;
access   ;
symbols  ;
locks    bin:1.7;
comment  @@;


1.7
date     91.10.31.08.35.27;  author bin;  state Exp;
branches ;
next     1.6;

1.6
date     91.09.26.17.13.55;  author bin;  state Exp;
branches ;
next     1.5;

1.5
date     91.07.15.14.39.54;  author bin;  state Exp;
branches ;
next     1.4;

1.4
date     91.06.20.14.33.18;  author bin;  state Exp;
branches ;
next     1.3;

1.3
date     91.06.10.10.42.41;  author bin;  state Exp;
branches ;
next     1.2;

1.2
date     91.04.30.18.38.22;  author root;  state Exp;
branches ;
next     1.1;

1.1
date     91.04.30.18.37.18;  author root;  state Exp;
branches ;
next     ;


desc
@Runtime support for loadable drivers, including ldlib.a.
@


1.7
log
@provided by hal for buildingh 3204{k} kernels and loadable drivers.
@
text
@# $Header: $(USRSRC)/ldrv/RCS/Makefile,v 1.2 91/04/30 18:38:22 root Exp $

# Loadable Drivers - Makefile
#

# Include directories
USRINC=/usr/include
SYSINC=/usr/include/sys

CC=exec /bin/cc
CFLAGS=

TARGETS=$(USRSYS)/lib/ldrts0.o	\
	$(USRSYS)/lib/ldmain.o	\
	$(USRSYS)/lib/ldswap.o	\
	$(USRSYS)/lib/ldlib.a

ld_support:	$(TARGETS)
	@@sync

$(USRSYS)/lib/ldrts0.o:	ldrts0.s
	as -xo $@@ $<

$(USRSYS)/lib/ldmain.o:	ldmain.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(USRSYS)/lib/ldswap.o:	ldswap.c
	$(CC) $(CFLAGS) -DNOMONITOR -c -o $@@ $<

# The following script extracts a module from a library.
X_LIB=	OBJFIL=`basename $@@ | sed 's/L//'` ;\
	ar x $< $$OBJFIL ;\
	mv $$OBJFIL $@@

# The following modules are supported in loadable drivers.
# NOTE: Most of them are interface stubs to kernel code.
#	Some of them are entirely driver resident.
LIBOBJ1=$(LOBJ)/absL.o		\
	$(LOBJ)/allocL.o	\
	$(LOBJ)/bclaimL.o	\
	$(LOBJ)/bdoneL.o	\
	$(LOBJ)/blkmvL.o	\
	$(LOBJ)/bootL.o		\
	$(LOBJ)/breadL.o	\
	$(LOBJ)/breleaseL.o	\
	$(LOBJ)/clockedfL.o	\
	$(LOBJ)/clrqL.o		\
	$(LOBJ)/cs_selfL.o	\
	$(LOBJ)/dblockL.o	\
	$(LOBJ)/dcloseL.o	\
	$(LOBJ)/deferL.o	\
	$(LOBJ)/devmsgL.o	\
	$(LOBJ)/dmagoL.o	\
	$(LOBJ)/dmalockL.o	\
	$(LOBJ)/dmaoffL.o	\
	$(LOBJ)/dmaonL.o	\
	$(LOBJ)/dmareqL.o	\
	$(LOBJ)/dopenL.o	\
	$(LOBJ)/drvmapL.o	\
	$(LOBJ)/dwriteL.o	\
	$(LOBJ)/fclearL.o	\
	$(LOBJ)/fdiskL.o	\
	$(LOBJ)/ffbyteL.o	\
	$(LOBJ)/ffwordL.o	\
	$(LOBJ)/ffmemL.o	\
	$(LOBJ)/fkcopyL.o	\
	$(LOBJ)/fpxcopyL.o	\
	$(LOBJ)/freeL.o		\
	$(LOBJ)/fucopyL.o	\
	$(LOBJ)/getcsL.o	\
	$(LOBJ)/getqL.o		\
	$(LOBJ)/getubdL.o	\
	$(LOBJ)/getuwdL.o	\
	$(LOBJ)/inbL.o		\
	$(LOBJ)/int11L.o	\
	$(LOBJ)/iogetcL.o	\
	$(LOBJ)/iomapvpL.o	\
	$(LOBJ)/ioputcL.o	\
	$(LOBJ)/ioreadL.o	\
	$(LOBJ)/ioreqL.o	\
	$(LOBJ)/iowriteL.o	\
	$(LOBJ)/ipcaccessL.o	\
	$(LOBJ)/kcallL.o	\
	$(LOBJ)/kfcopyL.o	\
	$(LOBJ)/kclearL.o	\
	$(LOBJ)/kpcopyL.o	\
	$(LOBJ)/kucopyL.o	\
	$(LOBJ)/lockL.o		\
	$(LOBJ)/lxdivL.o	\
	$(LOBJ)/lxmulL.o	\
	$(LOBJ)/lxremL.o	\
	$(LOBJ)/lxsgnL.o	\
	$(LOBJ)/memsetL.o	\
	$(LOBJ)/memtestL.o	\
	$(LOBJ)/nmidisableL.o	\
	$(LOBJ)/nmienableL.o	\
	$(LOBJ)/nondsigL.o	\
	$(LOBJ)/nonedevL.o	\
	$(LOBJ)/nulldevL.o	\

LIBOBJ2=$(LOBJ)/outbL.o		\
	$(LOBJ)/panicL.o	\
	$(LOBJ)/pclearL.o	\
	$(LOBJ)/pkcopyL.o	\
	$(LOBJ)/plrcopyL.o	\
	$(LOBJ)/pollopenL.o	\
	$(LOBJ)/pollwakeL.o	\
	$(LOBJ)/printfL.o	\
	$(LOBJ)/prlcopyL.o	\
	$(LOBJ)/ptovL.o		\
	$(LOBJ)/pucopyL.o	\
	$(LOBJ)/putcharL.o	\
	$(LOBJ)/putqL.o		\
	$(LOBJ)/putubdL.o	\
	$(LOBJ)/putuwdL.o	\
	$(LOBJ)/rucopyL.o	\
	$(LOBJ)/s5_to_sgL.o	\
	$(LOBJ)/s5_to_tcL.o	\
	$(LOBJ)/sallocL.o	\
	$(LOBJ)/sclearL.o	\
	$(LOBJ)/sendsigL.o	\
	$(LOBJ)/setivecL.o	\
	$(LOBJ)/sfreeL.o	\
	$(LOBJ)/sfbyteL.o	\
	$(LOBJ)/sfwordL.o	\
	$(LOBJ)/sfmemL.o	\
	$(LOBJ)/sg_to_s5L.o	\
	$(LOBJ)/sleepL.o	\
	$(LOBJ)/slrcopyL.o	\
	$(LOBJ)/sphiL.o		\
	$(LOBJ)/splL.o		\
	$(LOBJ)/sploL.o		\
	$(LOBJ)/superL.o	\
	$(LOBJ)/swapioL.o	\
	$(LOBJ)/tc_to_s5L.o	\
	$(LOBJ)/timeoutL.o	\
	$(LOBJ)/ttcloseL.o	\
	$(LOBJ)/tthupL.o	\
	$(LOBJ)/ttflushL.o	\
	$(LOBJ)/ttinL.o		\
	$(LOBJ)/ttioctlL.o	\
	$(LOBJ)/ttopenL.o	\
	$(LOBJ)/ttoutL.o	\
	$(LOBJ)/ttpollL.o	\
	$(LOBJ)/ttreadL.o	\
	$(LOBJ)/ttsetgrpL.o	\
	$(LOBJ)/ttsignalL.o	\
	$(LOBJ)/ttstartL.o	\
	$(LOBJ)/ttwriteL.o	\
	$(LOBJ)/uexitL.o	\
	$(LOBJ)/ufcopyL.o	\
	$(LOBJ)/ukcopyL.o	\
	$(LOBJ)/unlockL.o	\
	$(LOBJ)/upcopyL.o	\
	$(LOBJ)/urcopyL.o	\
	$(LOBJ)/vprintL.o	\
	$(LOBJ)/vrelseL.o	\
	$(LOBJ)/vremapL.o	\
	$(LOBJ)/vtopL.o		\
	$(LOBJ)/vxdivL.o	\
	$(LOBJ)/vxmulL.o	\
	$(LOBJ)/vxremL.o	\
	$(LOBJ)/waitqL.o	\
	$(LOBJ)/wakeupL.o	\

LIBOBJ3=$(LOBJ)/fifo_closeL.o		\
	$(LOBJ)/fifo_lenL.o		\
	$(LOBJ)/fifo_openL.o		\
	$(LOBJ)/fifo_readL.o		\
	$(LOBJ)/fifo_rewindL.o		\
	$(LOBJ)/fifo_writeL.o		\

$(USRSYS)/lib/ldlib.a:	mkstub.m4 $(LIBOBJ1) $(LIBOBJ2) $(LIBOBJ3)
	rm -f  $@@
	ar rc  $@@ $(LIBOBJ1)
	ar rc  $@@ $(LIBOBJ2)
	ar rc  $@@ $(LIBOBJ3)
	ranlib $@@

# Here is mkstub.m4:
#define(sym, substr(basename, -2, ))dnl
#	.globl	sym`_'
#sym`_':	mov	ax,`$K'sym`_'
#	.byte	0x9A
#	.word	xcalled
#	.word	0x0060
#	ret

MKSTUB=	echo "define(basename, `basename $*`)dnl" | m4 - mkstub.m4 > $*.s ;\
	as -gxo $@@ $*.s; rm $*.s

$(LOBJ)/absL.o:
	$(MKSTUB)

$(LOBJ)/allocL.o:
	$(MKSTUB)

$(LOBJ)/bclaimL.o:
	$(MKSTUB)

$(LOBJ)/bdoneL.o:
	$(MKSTUB)

$(LOBJ)/blkmvL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/bootL.o:
	$(MKSTUB)

$(LOBJ)/breadL.o:
	$(MKSTUB)

$(LOBJ)/breleaseL.o:
	$(MKSTUB)

$(LOBJ)/clockedfL.o:	clockedf.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(LOBJ)/clrivecL.o:
	$(MKSTUB)

$(LOBJ)/clrqL.o:
	$(MKSTUB)

$(LOBJ)/cs_selfL.o:	cs_self.s
	as -gxo $@@ $<

$(LOBJ)/dblockL.o:
	$(MKSTUB)

$(LOBJ)/dcloseL.o:
	$(MKSTUB)

$(LOBJ)/deferL.o:	defer.s
	as -gxo $@@ $<

$(LOBJ)/devmsgL.o:
	$(MKSTUB)

$(LOBJ)/dmagoL.o:
	$(MKSTUB)

$(LOBJ)/dmalockL.o:	dmalock.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(LOBJ)/dmaoffL.o:
	$(MKSTUB)

$(LOBJ)/dmaonL.o:
	$(MKSTUB)

$(LOBJ)/dmareqL.o:
	$(MKSTUB)

$(LOBJ)/dopenL.o:
	$(MKSTUB)

$(LOBJ)/drvmapL.o:
	$(MKSTUB)

$(LOBJ)/dwriteL.o:
	$(MKSTUB)

$(LOBJ)/fclearL.o:
	$(MKSTUB)

$(LOBJ)/fdiskL.o:
	$(MKSTUB)

$(LOBJ)/ffbyteL.o:	ffbyte.s
	as -gxo $@@ $<

$(LOBJ)/ffwordL.o:	ffword.s
	as -gxo $@@ $<

$(LOBJ)/ffmemL.o:	ffmem.s
	as -gxo $@@ $<

$(LOBJ)/fkcopyL.o:
	$(MKSTUB)

$(LOBJ)/fpxcopyL.o:
	$(MKSTUB)

$(LOBJ)/freeL.o:
	$(MKSTUB)

$(LOBJ)/fucopyL.o:
	$(MKSTUB)

$(LOBJ)/getcsL.o:	getcs.s
	as -gxo $@@ $<

$(LOBJ)/getqL.o:
	$(MKSTUB)

$(LOBJ)/getubdL.o:
	$(MKSTUB)

$(LOBJ)/getuwdL.o:
	$(MKSTUB)

$(LOBJ)/inbL.o:		inb.s
	as -gxo $@@ $<

$(LOBJ)/int11L.o:
	$(MKSTUB)

$(LOBJ)/iogetcL.o:
	$(MKSTUB)

$(LOBJ)/iomapvpL.o:
	$(MKSTUB)

$(LOBJ)/ioputcL.o:
	$(MKSTUB)

$(LOBJ)/ioreadL.o:
	$(MKSTUB)

$(LOBJ)/ioreqL.o:
	$(MKSTUB)

$(LOBJ)/iowriteL.o:
	$(MKSTUB)

$(LOBJ)/ipcaccessL.o:
	$(MKSTUB)

$(LOBJ)/kcallL.o:	kcall.s
	as -gxo $@@ $<

$(LOBJ)/kclearL.o:
	$(MKSTUB)

$(LOBJ)/kfcopyL.o:
	$(MKSTUB)

$(LOBJ)/kpcopyL.o:
	$(MKSTUB)

$(LOBJ)/kucopyL.o:
	$(MKSTUB)

$(LOBJ)/lockL.o:
	$(MKSTUB)

$(LOBJ)/lxdivL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/lxmulL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/lxremL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/lxsgnL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/memsetL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/memtestL.o:
	$(MKSTUB)

$(LOBJ)/nmidisableL.o:
	$(MKSTUB)

$(LOBJ)/nmienableL.o:
	$(MKSTUB)

$(LOBJ)/nondsigL.o:
	$(MKSTUB)

$(LOBJ)/nonedevL.o:	nonedev.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(LOBJ)/nulldevL.o:	nulldev.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(LOBJ)/outbL.o:		outb.s
	as -gxo $@@ $<

$(LOBJ)/panicL.o:
	$(MKSTUB)

$(LOBJ)/pclearL.o:
	$(MKSTUB)

$(LOBJ)/plrcopyL.o:
	$(MKSTUB)

$(LOBJ)/pkcopyL.o:
	$(MKSTUB)

$(LOBJ)/pollopenL.o:
	$(MKSTUB)

$(LOBJ)/pollwakeL.o:
	$(MKSTUB)

$(LOBJ)/printfL.o:
	$(MKSTUB)

$(LOBJ)/prlcopyL.o:
	$(MKSTUB)

$(LOBJ)/ptovL.o:
	$(MKSTUB)

$(LOBJ)/pucopyL.o:
	$(MKSTUB)

$(LOBJ)/putcharL.o:
	$(MKSTUB)

$(LOBJ)/putqL.o:
	$(MKSTUB)

$(LOBJ)/putubdL.o:
	$(MKSTUB)

$(LOBJ)/putuwdL.o:
	$(MKSTUB)

$(LOBJ)/rucopyL.o:
	$(MKSTUB)

$(LOBJ)/s5_to_sgL.o:
	$(MKSTUB)

$(LOBJ)/s5_to_tcL.o:
	$(MKSTUB)

$(LOBJ)/sallocL.o:
	$(MKSTUB)

$(LOBJ)/sclearL.o:
	$(MKSTUB)

$(LOBJ)/sendsigL.o:
	$(MKSTUB)

$(LOBJ)/setivecL.o:	setivec.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(LOBJ)/sfreeL.o:
	$(MKSTUB)

$(LOBJ)/sfbyteL.o:	sfbyte.s
	as -gxo $@@ $<

$(LOBJ)/sfwordL.o:	sfword.s
	as -gxo $@@ $<

$(LOBJ)/sfmemL.o:	sfmem.s
	as -gxo $@@ $<

$(LOBJ)/sg_to_s5L.o:
	$(MKSTUB)

$(LOBJ)/sleepL.o:
	$(MKSTUB)

$(LOBJ)/slrcopyL.o:
	$(MKSTUB)

$(LOBJ)/sphiL.o:	sphi.s
	as -gxo $@@ $<

$(LOBJ)/splL.o:	spl.s
	as -gxo $@@ $<

$(LOBJ)/sploL.o:	splo.s
	as -gxo $@@ $<

$(LOBJ)/superL.o:
	$(MKSTUB)

$(LOBJ)/swapioL.o:
	$(MKSTUB)

$(LOBJ)/tc_to_s5L.o:
	$(MKSTUB)

$(LOBJ)/timeoutL.o:	timeout.c
	$(CC) $(CFLAGS) -c -o $@@ $<

$(LOBJ)/ttcloseL.o:
	$(MKSTUB)

$(LOBJ)/ttflushL.o:
	$(MKSTUB)

$(LOBJ)/tthupL.o:
	$(MKSTUB)

$(LOBJ)/ttinL.o:
	$(MKSTUB)

$(LOBJ)/ttioctlL.o:
	$(MKSTUB)

$(LOBJ)/ttopenL.o:
	$(MKSTUB)

$(LOBJ)/ttoutL.o:
	$(MKSTUB)

$(LOBJ)/ttpollL.o:
	$(MKSTUB)

$(LOBJ)/ttreadL.o:
	$(MKSTUB)

$(LOBJ)/ttsetgrpL.o:
	$(MKSTUB)

$(LOBJ)/ttsignalL.o:
	$(MKSTUB)

$(LOBJ)/ttstartL.o:
	$(MKSTUB)

$(LOBJ)/ttwriteL.o:
	$(MKSTUB)

$(LOBJ)/uexitL.o:
	$(MKSTUB)

$(LOBJ)/ufcopyL.o:
	$(MKSTUB)

$(LOBJ)/ukcopyL.o:
	$(MKSTUB)

$(LOBJ)/unlockL.o:
	$(MKSTUB)

$(LOBJ)/upcopyL.o:
	$(MKSTUB)

$(LOBJ)/urcopyL.o:
	$(MKSTUB)

$(LOBJ)/vprintL.o:
	$(MKSTUB)

$(LOBJ)/vrelseL.o:
	$(MKSTUB)

$(LOBJ)/vremapL.o:
	$(MKSTUB)

$(LOBJ)/vtopL.o:
	$(MKSTUB)

$(LOBJ)/vxdivL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/vxmulL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/vxremL.o:	/lib/libc.a
	$(X_LIB)

$(LOBJ)/waitqL.o:
	$(MKSTUB)

$(LOBJ)/wakeupL.o:
	$(MKSTUB)

$(LOBJ)/fifo_closeL.o:
	$(MKSTUB)

$(LOBJ)/fifo_lenL.o:
	$(MKSTUB)

$(LOBJ)/fifo_openL.o:
	$(MKSTUB)

$(LOBJ)/fifo_readL.o:
	$(MKSTUB)

$(LOBJ)/fifo_rewindL.o:
	$(MKSTUB)

$(LOBJ)/fifo_writeL.o:
	$(MKSTUB)
@


1.6
log
@update by hal to fix problem with ttyflush() and loadable drivers.
@
text
@d166 8
a173 1
$(USRSYS)/lib/ldlib.a:	mkstub.m4 $(LIBOBJ1) $(LIBOBJ2)
d177 1
d572 18
@


1.5
log
@mods by hal for relocateable object directories
@
text
@d139 1
d484 3
@


1.4
log
@update provided by hal
@
text
@a1 12
#
#	The  information  contained herein  is a trade secret  of INETCO
#	Systems, Ltd, and is  confidential information.   It is provided
#	under a license agreement,  and may be copied or disclosed  only
#	under  the  terms  of  that  agreement.    Any  reproduction  or
#	disclosure  of  this   material   without  the  express  written
#	authorization of INETCO Systems, Ltd. or persuant to the license
#	agreement is unlawful.
#
#	Copyright (c) 1988
#	An unpublished work by INETCO Systems, Ltd.
#	All rights reserved.
a4 3
# $Log:	$(USRSRC)/ldrv/RCS/Makefile,v $
# Revision 1.2	91/04/30  18:38:22	root
# Changes to support polled async driver "hs"
a5 17
# Revision 1.5	89/06/30  16:31:48 	src
# Bug:	Multiple simultaneous DMA transfers resulted in data being lost.
# Fix:	Added DMA lock routines to ensure single simultaneous DMA
# 	transfers. (JHB)
# 
# Revision 1.3	88/05/23  17:31:10	src
# Added vtop linkage routine (Jim had filed away in his directory) - ART
# 
# Revision 1.2	88/04/04  16:39:27	src
# defer() function now supported from loadable drivers.
# 
# Revision 1.1	88/03/24  16:30:21	src
# Initial revision
#
# 88/02/16	Jim Belton		$(USRSRC)/ldrv/Makefile
# Added vtop linkage routine to ldlib.a.

a9 13
# Source directories
COHSRC=$(USRSRC)/coh
DRVSRC=$(USRSRC)/i8086/drv
I86SRC=$(USRSRC)/i8086/src
IBMATSRC=$(USRSRC)/i8086/ibm_at
KERSRC=$(USRSRC)/ker
TTYSRC=$(USRSRC)/ttydrv

# Object directories
I86OBJ=$(USRSRC)/i8086/objects
DRVOBJ=$(USRSRC)/i8086/drv/objects
IBMATOBJ=$(USRSRC)/i8086/ibm_at/objects

d30 4
a33 2
# The following script creates a interface stub to a kernel function.
GEN_DRV=objects/mkstub.sh
a34 5
# The following script extracts a module from a library.
ARX_LIB=set -e; OBJFIL=`basename $@@` ;\
	eval ar x $< $${OBJFIL} ;\
	eval mv $${OBJFIL} $@@

d38 62
a99 62
LIBOBJ1=objects/abs.o		\
	objects/alloc.o		\
	objects/bclaim.o	\
	objects/bdone.o		\
	objects/blkmv.o		\
	objects/boot.o		\
	objects/bread.o		\
	objects/brelease.o	\
	objects/clockedf.o	\
	objects/clrq.o		\
	objects/cs_self.o	\
	objects/dblock.o	\
	objects/dclose.o	\
	objects/defer.o		\
	objects/devmsg.o	\
	objects/dmago.o		\
	objects/dmalock.o	\
	objects/dmaoff.o	\
	objects/dmaon.o		\
	objects/dmareq.o	\
	objects/dopen.o		\
	objects/drvmap.o	\
	objects/dwrite.o	\
	objects/fclear.o	\
	objects/fdisk.o		\
	objects/ffbyte.o	\
	objects/ffword.o	\
	objects/ffmem.o		\
	objects/fkcopy.o	\
	objects/fpxcopy.o	\
	objects/free.o		\
	objects/fucopy.o	\
	objects/getcs.o		\
	objects/getq.o		\
	objects/getubd.o	\
	objects/getuwd.o	\
	objects/inb.o		\
	objects/int11.o		\
	objects/iogetc.o	\
	objects/iomapvp.o	\
	objects/ioputc.o	\
	objects/ioread.o	\
	objects/ioreq.o		\
	objects/iowrite.o	\
	objects/ipcaccess.o	\
	objects/kcall.o		\
	objects/kfcopy.o	\
	objects/kclear.o	\
	objects/kpcopy.o	\
	objects/kucopy.o	\
	objects/lock.o		\
	objects/lxdiv.o		\
	objects/lxmul.o		\
	objects/lxrem.o		\
	objects/lxsgn.o		\
	objects/memset.o	\
	objects/memtest.o	\
	objects/nmidisable.o	\
	objects/nmienable.o	\
	objects/nondsig.o	\
	objects/nonedev.o	\
	objects/nulldev.o	\
d101 63
a163 63
LIBOBJ2=objects/outb.o		\
	objects/panic.o		\
	objects/pclear.o	\
	objects/pkcopy.o	\
	objects/plrcopy.o	\
	objects/pollopen.o	\
	objects/pollwake.o	\
	objects/printf.o	\
	objects/prlcopy.o	\
	objects/ptov.o		\
	objects/pucopy.o	\
	objects/putchar.o	\
	objects/putq.o		\
	objects/putubd.o	\
	objects/putuwd.o	\
	objects/rucopy.o	\
	objects/s5_to_sg.o	\
	objects/s5_to_tc.o	\
	objects/salloc.o	\
	objects/sclear.o	\
	objects/sendsig.o	\
	objects/setivec.o	\
	objects/sfree.o		\
	objects/sfbyte.o	\
	objects/sfword.o	\
	objects/sfmem.o		\
	objects/sg_to_s5.o	\
	objects/sleep.o		\
	objects/slrcopy.o	\
	objects/sphi.o		\
	objects/spl.o		\
	objects/splo.o		\
	objects/super.o		\
	objects/swapio.o	\
	objects/tc_to_s5.o	\
	objects/timeout.o	\
	objects/ttclose.o	\
	objects/tthup.o		\
	objects/ttin.o		\
	objects/ttioctl.o	\
	objects/ttopen.o	\
	objects/ttout.o		\
	objects/ttpoll.o	\
	objects/ttread.o	\
	objects/ttsetgrp.o	\
	objects/ttsignal.o	\
	objects/ttstart.o	\
	objects/ttwrite.o	\
	objects/uexit.o		\
	objects/ufcopy.o	\
	objects/ukcopy.o	\
	objects/unlock.o	\
	objects/upcopy.o	\
	objects/urcopy.o	\
	objects/vprint.o	\
	objects/vrelse.o	\
	objects/vremap.o	\
	objects/vtop.o		\
	objects/vxdiv.o		\
	objects/vxmul.o		\
	objects/vxrem.o		\
	objects/waitq.o		\
	objects/wakeup.o	\
d165 1
a165 3
$(USRSYS)/lib/ldlib.a:	$(GEN_DRV)	\
			$(LIBOBJ1)	\
			$(LIBOBJ2)
d171 8
a178 16
#
# Create the script to create an interface stub to a kernel function.
#
$(GEN_DRV):
	echo ": 'Created by Makefile - do not edit.';\
	set -e; ENTRY=\`basename \$$1\`;(\
	echo \".globl \$${ENTRY}_\";\
	echo \"\$${ENTRY}_: mov ax,\\\\\$$K\$${ENTRY}_\";\
	echo .byte 0x9A;\
	echo .word xcalled;\
	echo .word 0x0060;\
	echo ret;)>/tmp/\$$\$$.s;\
	as -gxo /tmp/\$$\$$.o /tmp/\$$\$$.s;\
	mv /tmp/\$$\$$.o \$$1.o;\
	rm -f /tmp/\$$\$$.s" > $@@
	chmod +x $@@
d180 2
a181 2
objects/abs.o:
	$(GEN_DRV) $*
d183 2
a184 2
objects/alloc.o:
	$(GEN_DRV) $*
d186 2
a187 2
objects/bclaim.o:
	$(GEN_DRV) $*
d189 2
a190 2
objects/bdone.o:
	$(GEN_DRV) $*
d192 2
a193 2
objects/blkmv.o:	/lib/libc.a
	$(ARX_LIB)
d195 2
a196 2
objects/boot.o:
	$(GEN_DRV) $*
d198 2
a199 2
objects/bread.o:
	$(GEN_DRV) $*
d201 2
a202 2
objects/brelease.o:
	$(GEN_DRV) $*
d204 4
a207 1
objects/clockedf.o:	clockedf.c
d210 2
a211 2
objects/clrivec.o:
	$(GEN_DRV) $*
d213 2
a214 2
objects/clrq.o:
	$(GEN_DRV) $*
d216 1
a216 1
objects/cs_self.o:	cs_self.s
d219 2
a220 2
objects/dblock.o:
	$(GEN_DRV) $*
d222 2
a223 2
objects/dclose.o:
	$(GEN_DRV) $*
d225 1
a225 1
objects/defer.o:	defer.s
d228 2
a229 2
objects/devmsg.o:
	$(GEN_DRV) $*
d231 2
a232 2
objects/dmago.o:
	$(GEN_DRV) $*
d234 1
a234 1
objects/dmalock.o:	dmalock.c
d237 2
a238 2
objects/dmaoff.o:
	$(GEN_DRV) $*
d240 2
a241 2
objects/dmaon.o:
	$(GEN_DRV) $*
d243 2
a244 2
objects/dmareq.o:
	$(GEN_DRV) $*
d246 2
a247 2
objects/dopen.o:
	$(GEN_DRV) $*
d249 2
a250 2
objects/drvmap.o:
	$(GEN_DRV) $*
d252 2
a253 2
objects/dwrite.o:
	$(GEN_DRV) $*
d255 2
a256 2
objects/fclear.o:
	$(GEN_DRV) $*
d258 2
a259 2
objects/fdisk.o:
	$(GEN_DRV) $*
d261 1
a261 1
objects/ffbyte.o:	ffbyte.s
d264 1
a264 1
objects/ffword.o:	ffword.s
d267 1
a267 1
objects/ffmem.o:	ffmem.s
d270 2
a271 2
objects/fkcopy.o:
	$(GEN_DRV) $*
d273 2
a274 2
objects/fpxcopy.o:
	$(GEN_DRV) $*
d276 2
a277 2
objects/free.o:
	$(GEN_DRV) $*
d279 2
a280 2
objects/fucopy.o:
	$(GEN_DRV) $*
d282 1
a282 1
objects/getcs.o:	getcs.s
d285 2
a286 2
objects/getq.o:
	$(GEN_DRV) $*
d288 2
a289 2
objects/getubd.o:
	$(GEN_DRV) $*
d291 2
a292 2
objects/getuwd.o:
	$(GEN_DRV) $*
d294 1
a294 1
objects/inb.o:		inb.s
d297 2
a298 2
objects/int11.o:
	$(GEN_DRV) $*
d300 2
a301 2
objects/iogetc.o:
	$(GEN_DRV) $*
d303 2
a304 2
objects/iomapvp.o:
	$(GEN_DRV) $*
d306 2
a307 2
objects/ioputc.o:
	$(GEN_DRV) $*
d309 2
a310 2
objects/ioread.o:
	$(GEN_DRV) $*
d312 2
a313 2
objects/ioreq.o:
	$(GEN_DRV) $*
d315 2
a316 2
objects/iowrite.o:
	$(GEN_DRV) $*
d318 2
a319 2
objects/ipcaccess.o:
	$(GEN_DRV) $*
d321 1
a321 1
objects/kcall.o:	kcall.s
d324 2
a325 2
objects/kclear.o:
	$(GEN_DRV) $*
d327 2
a328 2
objects/kfcopy.o:
	$(GEN_DRV) $*
d330 2
a331 2
objects/kpcopy.o:
	$(GEN_DRV) $*
d333 2
a334 2
objects/kucopy.o:
	$(GEN_DRV) $*
d336 2
a337 2
objects/lock.o:
	$(GEN_DRV) $*
d339 2
a340 2
objects/lxdiv.o:	/lib/libc.a
	$(ARX_LIB)
d342 2
a343 2
objects/lxmul.o:	/lib/libc.a
	$(ARX_LIB)
d345 2
a346 2
objects/lxrem.o:	/lib/libc.a
	$(ARX_LIB)
d348 2
a349 2
objects/lxsgn.o:	/lib/libc.a
	$(ARX_LIB)
d351 2
a352 2
objects/memset.o:	/lib/libc.a
	$(ARX_LIB)
d354 2
a355 2
objects/memtest.o:
	$(GEN_DRV) $*
d357 2
a358 2
objects/nmidisable.o:
	$(GEN_DRV) $*
d360 2
a361 2
objects/nmienable.o:
	$(GEN_DRV) $*
d363 2
a364 2
objects/nondsig.o:
	$(GEN_DRV) $*
d366 1
a366 1
objects/nonedev.o:	nonedev.c
d369 1
a369 1
objects/nulldev.o:	nulldev.c
d372 1
a372 1
objects/outb.o:		outb.s
d375 2
a376 2
objects/panic.o:
	$(GEN_DRV) $*
d378 2
a379 2
objects/pclear.o:
	$(GEN_DRV) $*
d381 2
a382 2
objects/plrcopy.o:
	$(GEN_DRV) $*
d384 2
a385 2
objects/pkcopy.o:
	$(GEN_DRV) $*
d387 2
a388 2
objects/pollopen.o:
	$(GEN_DRV) $*
d390 2
a391 2
objects/pollwake.o:
	$(GEN_DRV) $*
d393 2
a394 2
objects/printf.o:
	$(GEN_DRV) $*
d396 2
a397 2
objects/prlcopy.o:
	$(GEN_DRV) $*
d399 2
a400 2
objects/ptov.o:
	$(GEN_DRV) $*
d402 2
a403 2
objects/pucopy.o:
	$(GEN_DRV) $*
d405 2
a406 2
objects/putchar.o:
	$(GEN_DRV) $*
d408 2
a409 2
objects/putq.o:
	$(GEN_DRV) $*
d411 2
a412 2
objects/putubd.o:
	$(GEN_DRV) $*
d414 2
a415 2
objects/putuwd.o:
	$(GEN_DRV) $*
d417 2
a418 2
objects/rucopy.o:
	$(GEN_DRV) $*
d420 2
a421 2
objects/s5_to_sg.o:
	$(GEN_DRV) $*
d423 2
a424 2
objects/s5_to_tc.o:
	$(GEN_DRV) $*
d426 2
a427 2
objects/salloc.o:
	$(GEN_DRV) $*
d429 2
a430 2
objects/sclear.o:
	$(GEN_DRV) $*
d432 2
a433 2
objects/sendsig.o:
	$(GEN_DRV) $*
d435 1
a435 1
objects/setivec.o:	setivec.c
d438 2
a439 2
objects/sfree.o:
	$(GEN_DRV) $*
d441 1
a441 1
objects/sfbyte.o:	sfbyte.s
d444 1
a444 1
objects/sfword.o:	sfword.s
d447 1
a447 1
objects/sfmem.o:	sfmem.s
d450 2
a451 2
objects/sg_to_s5.o:
	$(GEN_DRV) $*
d453 2
a454 2
objects/sleep.o:
	$(GEN_DRV) $*
d456 2
a457 2
objects/slrcopy.o:
	$(GEN_DRV) $*
d459 1
a459 1
objects/sphi.o:	sphi.s
d462 1
a462 1
objects/spl.o:	spl.s
d465 1
a465 1
objects/splo.o:	splo.s
d468 2
a469 2
objects/super.o:
	$(GEN_DRV) $*
d471 2
a472 2
objects/swapio.o:
	$(GEN_DRV) $*
d474 2
a475 2
objects/tc_to_s5.o:
	$(GEN_DRV) $*
d477 1
a477 1
objects/timeout.o:	timeout.c
d480 2
a481 2
objects/ttclose.o:
	$(GEN_DRV) $*
d483 2
a484 2
objects/tthup.o:
	$(GEN_DRV) $*
d486 2
a487 2
objects/ttin.o:
	$(GEN_DRV) $*
d489 2
a490 2
objects/ttioctl.o:
	$(GEN_DRV) $*
d492 2
a493 2
objects/ttopen.o:
	$(GEN_DRV) $*
d495 2
a496 2
objects/ttout.o:
	$(GEN_DRV) $*
d498 2
a499 2
objects/ttpoll.o:
	$(GEN_DRV) $*
d501 2
a502 2
objects/ttread.o:
	$(GEN_DRV) $*
d504 2
a505 2
objects/ttsetgrp.o:
	$(GEN_DRV) $*
d507 2
a508 2
objects/ttsignal.o:
	$(GEN_DRV) $*
d510 2
a511 2
objects/ttstart.o:
	$(GEN_DRV) $*
d513 2
a514 2
objects/ttwrite.o:
	$(GEN_DRV) $*
d516 2
a517 2
objects/uexit.o:
	$(GEN_DRV) $*
d519 2
a520 2
objects/ufcopy.o:
	$(GEN_DRV) $*
d522 2
a523 2
objects/ukcopy.o:
	$(GEN_DRV) $*
d525 2
a526 2
objects/unlock.o:
	$(GEN_DRV) $*
d528 2
a529 2
objects/upcopy.o:
	$(GEN_DRV) $*
d531 2
a532 2
objects/urcopy.o:
	$(GEN_DRV) $*
d534 2
a535 2
objects/vprint.o:
	$(GEN_DRV) $*
d537 2
a538 2
objects/vrelse.o:
	$(GEN_DRV) $*
d540 2
a541 2
objects/vremap.o:
	$(GEN_DRV) $*
d543 2
a544 2
objects/vtop.o:
	$(GEN_DRV) $*
d546 2
a547 2
objects/vxdiv.o:	/lib/libc.a
	$(ARX_LIB)
d549 2
a550 2
objects/vxmul.o:	/lib/libc.a
	$(ARX_LIB)
d552 2
a553 2
objects/vxrem.o:	/lib/libc.a
	$(ARX_LIB)
d555 2
a556 2
objects/waitq.o:
	$(GEN_DRV) $*
d558 2
a559 2
objects/wakeup.o:
	$(GEN_DRV) $*
@


1.3
log
@initial version provided by stevesf 
@
text
@d1 1
a1 1
# $Header: /usr/src/sys/ldrv/RCS/Makefile,v 1.2 91/04/30 18:38:22 root Exp $
d17 1
a17 1
# $Log:	/usr/src/sys/ldrv/RCS/Makefile,v $
d35 1
a35 1
# 88/02/16	Jim Belton		/usr/src/sys/ldrv/Makefile
a37 2
USRSYS=/usr/sys

a40 3
KERINC=/usr/src/sys/sys
DRVINC=/usr/src/sys/i8086/sys
USSINC=/usr/src/sys
d43 6
a48 6
COHSRC=/usr/src/sys/coh
DRVSRC=/usr/src/sys/i8086/drv
I86SRC=/usr/src/sys/i8086/src
IBMATSRC=/usr/src/sys/i8086/ibm_at
KERSRC=/usr/src/sys/ker
TTYSRC=/usr/src/sys/ttydrv
d51 3
a53 3
I86OBJ=/usr/src/sys/i8086/objects
DRVOBJ=/usr/src/sys/i8086/drv/objects
IBMATOBJ=/usr/src/sys/i8086/ibm_at/objects
d56 1
a56 1
CFLAGS=-I$(DRVINC) -I$(KERINC) -I$(SYSINC)
d58 4
a61 4
TARGETS=objects/ldrts0.o	\
	objects/ldmain.o	\
	objects/ldswap.o	\
	objects/ldlib.a
d63 1
a63 1
all:		$(TARGETS)
d66 2
a67 4
install:	$(TARGETS)	\
		ldconfig
	cp $(TARGETS) /tmp/usr/sys/lib
	cp ldconfig /tmp/usr/sys
d69 2
a70 2
shrink:
	rm -f objects/*
d72 2
a73 3
objects/ldrts0.o:	ldrts0.s
	as -x ldrts0.s
	mv l.out $@@
a74 9
objects/ldmain.o:	ldmain.c
	$(CC) $(CFLAGS) -c ldmain.c
	mv ldmain.o $@@

#	$(CC) $(CFLAGS) -c ldswap.c
objects/ldswap.o:	ldswap.c
	$(CC) $(CFLAGS) -DNOMONITOR -c ldswap.c
	mv ldswap.o $@@

d213 1
a213 1
objects/ldlib.a:	$(GEN_DRV)	\
a219 1
	cp $@@ /usr/sys/lib
d272 1
a272 2
	as -gxo cs_self.o cs_self.s
	mv cs_self.o $@@
d281 1
a281 2
	as -gxo defer.o defer.s
	mv defer.o $@@
d290 1
a290 2
	$(CC) $(CFLAGS) -c dmalock.c
	mv dmalock.o $@@
d317 1
a317 2
	as -gxo ffbyte.o ffbyte.s
	mv ffbyte.o $@@
d320 1
a320 2
	as -gxo ffword.o ffword.s
	mv ffword.o $@@
d323 1
a323 2
	as -gxo ffmem.o ffmem.s
	mv ffmem.o $@@
d338 1
a338 2
	as -gxo getcs.o getcs.s
	mv getcs.o $@@
d350 1
a350 2
	as -gxo inb.o inb.s
	mv inb.o $@@
d377 1
a377 2
	as -gxo kcall.o kcall.s
	mv kcall.o $@@
d422 1
a422 2
	$(CC) $(CFLAGS) -c nonedev.c
	mv nonedev.o $@@
d425 1
a425 2
	$(CC) $(CFLAGS) -c nulldev.c
	mv nulldev.o $@@
d428 1
a428 2
	as -gxo outb.o outb.s
	mv outb.o $@@
d491 1
a491 2
	$(CC) $(CFLAGS) -c setivec.c
	mv setivec.o $@@
d496 2
a497 3
objects/sfbyte.o:
	as -gxo sfbyte.o sfbyte.s
	mv sfbyte.o $@@
d499 2
a500 3
objects/sfword.o:
	as -gxo sfword.o sfword.s
	mv sfword.o $@@
d502 2
a503 3
objects/sfmem.o:
	as -gxo sfmem.o sfmem.s
	mv sfmem.o $@@
d514 2
a515 3
objects/sphi.o:
	as -gxo sphi.o sphi.s
	mv sphi.o $@@
d517 2
a518 3
objects/spl.o:
	as -gxo spl.o spl.s
	mv spl.o $@@
d520 2
a521 3
objects/splo.o:
	as -gxo splo.o splo.s
	mv splo.o $@@
d533 1
a533 2
	$(CC) $(CFLAGS) -c timeout.c
	mv timeout.o $@@
a614 1

@


1.2
log
@Changes to support polled async driver "hs"
@
text
@d1 1
a1 1
# $Header: /usr/src/sys/ldrv/RCS/Makefile,v 1.5 89/06/30 16:31:48 src Exp $
d18 3
d220 1
d627 3
@


1.1
log
@Shipped with 3.0.0 COHERENT.
@
text
@d35 1
a35 4
CC=/bin/cc
#IFLAGS=-I/usr/include/sys -I/usr/src/sys/sys -I/usr/src/sys/i8086/sys
IFLAGS=-I/tmp/usr/include/sys -I/tmp/usr/src/sys/sys -I/tmp/usr/src/sys/i8086/sys
CFLAGS=$(IFLAGS)
d37 23
d108 1
a108 1
	objects/clocked.o	\
d110 1
d146 1
a147 1
	objects/kfcopy.o	\
d167 1
d171 1
d233 1
d276 2
a277 2
objects/clocked.o:
	$(GEN_DRV) $*
d285 4
d462 3
d477 3
@
