#sccs	"@(#)uts/kern/lddrv:Makefile	1.6"

include $(MAKEINC)/Makepre.h
include ../cf/Makeflags

ID = id.o
L1=../lib1
L2=../lib2
IPC_OBJ=ipc.o msg.o sem.o shm.o
FPAOBJS = fpainitrel.o fpatrap.o
DEPENDLIST = \
	dbbusy.c \
	dbinit.s \
	ipcdata.c \
	lddrv.c \
	masterupd.c \
	mkifile.c \
	plp.c \
	fpainitrel.c

RESULTS=mkifile lddrv lipc.o fpa.o
OLCFLAGS=-DLOADABLE

all: $(RESULTS) mkifile.mini masterupd db.o plp.o xt.o

Makeincludes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes
	$(MAKE)

includes: $(DEPENDLIST)
	$(INCCMD) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes

masterupd: masterupd.o $(ID)
	$(LD) -s -o masterupd $(SHAREDLIB) masterupd.o $(ID)

lddrv: lddrv.o $(ID)
	$(LD) -s -o lddrv $(SHAREDLIB) lddrv.o $(ID) -lld

mkifile: mkifile.o $(ID)
	$(LD) -s -o mkifile $(SHAREDLIB) mkifile.o $(ID) -lld

mkifile.mini: mkifile.o $(ID)
	$(CC) -s -o mkifile.mini mkifile.o -lld

db.o: dbinit.o dbbusy.o ../lib4
	$(LD) -r -o db.o dbinit.o dbbusy.o ../lib4

lipc.o: $(IPC_OBJ) ipcdata.o
	$(LD) -r -o lipc.o $(IPC_OBJ) ipcdata.o

ipc.o: $(L1)(ipc.o)
	ar x $(L1) ipc.o

msg.o: $(L1)(msg.o)
	ar x $(L1) msg.o

sem.o: $(L1)(sem.o)
	ar x $(L1) sem.o

shm.o: $(L1)(shm.o)
	ar x $(L1) shm.o

fpa.o:	$(FPAOBJS)
	$(LD) $(LDFLAGS) -r -o $@ $(FPAOBJS)

fpatrap.o:	fpatrap.m4 fpa.defs
	m4 fpa.defs fpatrap.m4 > fpatrap.s
	$(AS) -o $@ fpatrap.s
	-rm fpatrap.s

install:
	./mkifile.mini ../$(NAME) unix.sym
	for I in $(RESULTS) unix.sym masterupd drivers InstDrv; \
		do echo installing $$I...; \
		$(INSTALL) -i$(EXITFLAG) $$I $(INSDIR) $(PROTOFILE); done

clobber: clean

clean:
	rm -f *.o fpatrap.s $(RESULTS) mkifile.mini masterupd *.ifile id.c

populate:
	getunit

id.c: ../../uts.sl
	mkslid >id.c
