# include	"../conf/conf.h"

SHELL=	/bin/sh
DBS=	../..
LIB=	../lib
SYSBIN=	$(DBS)/sys/bin

CC=	cc
i_FLAG=
O_FLAG=	-O
# ifndef FP_PROCESSOR
f_FLAG=	-f
# else
f_FLAG=
# endif

LD=	$(CC)
CRT0=
# ifdef ID_SEPERATE
LDFLAGS= -i
# else
# ifdef TEXT_SEPERATE
LDFLAGS= -n
# endif
# endif
u_FLAG=	-u
UFLAG=	$(u_FLAG) _AApath
LIBC=	-lm

# ifdef A7150
# endif

# ifdef BC
# endif

# ifdef EC1834
# endif

# ifdef ESER_PSU
# ifdef TRACE
i_FLAG=	-d
# endif
LIBC=	-lm -lc
# endif

# ifdef ESER_VMX
UFLAG=	$(u_FLAG) AApath
# endif

# ifdef HP_UX
u_FLAG=	-W l,-u
UFLAG=	$(u_FLAG) _AApath
# endif

# ifdef P8000
LD=	ld
CRT0=	/lib/crt0.o
LIBC=	-lm -lc
# endif

# ifdef PDP
# endif

# ifdef PDP70
# endif

# ifdef VAX
# endif

# ifdef VENIX
LD=	ld
CRT0=	/lib/crt0.o
LIBC=	-lm -lc
# endif

# ifdef XENIX286
i_FLAG=	-i -M2s
LD=	ld
LDFLAGS= -i -Ms -F 2000
CRT0=	/lib/Sseg.o /lib/Scrt0.o
LIBC=	/lib/Slibm.a /lib/Slibcfp.a /lib/Slibc.a /lib/Slibx.a
# endif

# ifdef XENIX386
LD=	ld
CRT0=	/lib/386/Sseg.o /lib/386/Scrt0.o
LIBC=	/lib/386/Slibm.a /lib/386/Slibcfp.a /lib/386/Slibc.a /lib/386/Slibx.a
# endif

CFLAGS=	$(O_FLAG) $(f_FLAG) $(i_FLAG)

AR=	-ar
# ifdef TEST
AR_R	=rv
AR_X	=xv
# else
AR_R	=r
AR_X	=x
# endif
LIBMODE=0644

CHMOD=	chmod
MODE=	6711
SRCMODE=0644
# ifdef RANLIB
MKLIB=	ranlib
# else
MKLIB=	@echo ranlib
# endif
RM=	-rm -f
TOUCH=	touch

DBULIB=	$(LIB)/dbu.a
ACCESS=	$(LIB)/a.a
$(ACCESS):

IUTIL=	$(LIB)/i.a
$(IUTIL):

GUTIL=	$(LIB)/g.a
$(GUTIL):

LIBES=	$(ACCESS) $(IUTIL) $(GUTIL)
LIBS=	$(LIBES) $(LIBC)
ALLIBES=$(DBULIB) $(ACCESS) $(IUTIL) $(GUTIL)
ALLIBS=	$(ALLIBES) $(LIBC)
DBU_A=	$(SYSBIN)/dbu34_a
DBU_C=	$(SYSBIN)/dbu34_c
DBU_G=	$(SYSBIN)/dbu70_g
DBU_I=	$(SYSBIN)/dbu34_i
DBU_M=	$(SYSBIN)/dbu34_m
DBU_S=	$(SYSBIN)/dbu___s
# ifdef NO_PIPE
ALL=	$(DBU_S)
# else
# ifdef DBU_SEPERATE
ALL=	$(DBU_S) $(DBU_A) $(DBU_C) $(DBU_I) $(DBU_M)
# else
ALL=	$(DBU_S) $(DBU_G)
# endif
# endif

OBJS=	main.o		index.o		create.o	modify.o	\
	modupdate.o	destroy.o	userdestroy.o	purgetup.o	\
	print.o		help.o		copy.o		save.o		\
	rupdate.o	update.o	convert.o	secupdate.o	\
	rdwrbatch.o	resetrel.o	get_seq_att.o	dbuproctab.o	\
	display.o	pr_tree.o	readtree.o	pr_prot.o	\
	rmqm.o		get_p_tid.o

INSTALL:	install

install:	$(DBULIB) $(ALL)

$(DBULIB):	$(OBJS)
	$(AR) $(AR_R) $@ $?
	@-$(CHMOD) $(LIBMODE) $@
	$(MKLIB) $@

UNLOAD:		unload

unload:
	@-$(AR) $(AR_X) $(DBULIB)
	@$(RM) __.SYMDEF
	@-$(TOUCH) $(DBULIB)

$(DBU_A):	dbu34_a.o $(ALLIBES)
	$(LD) $(LDFLAGS) STRIPFLAG $(CRT0) dbu34_a.o $(ALLIBS) -o $@
	@-$(CHMOD) $(MODE) $@

$(DBU_C):	dbu34_c.o $(ALLIBES)
	$(LD) $(LDFLAGS) STRIPFLAG $(CRT0) dbu34_c.o $(ALLIBS) -o $@
	@-$(CHMOD) $(MODE) $@

$(DBU_G):	dbu70_g.o $(ALLIBES)
	$(LD) $(LDFLAGS) STRIPFLAG $(CRT0) dbu70_g.o $(ALLIBS) -o $@
	@-$(CHMOD) $(MODE) $@

$(DBU_I):	dbu34_i.o $(ALLIBES)
	$(LD) $(LDFLAGS) STRIPFLAG $(CRT0) dbu34_i.o $(ALLIBS) -o $@
	@-$(CHMOD) $(MODE) $@

$(DBU_M):	dbu34_m.o $(ALLIBES)
	$(LD) $(LDFLAGS) STRIPFLAG $(CRT0) dbu34_m.o $(ALLIBS) -o $@
	@-$(CHMOD) $(MODE) $@

$(DBU_S):	dbu___s.o $(LIBES)
	$(LD) $(LDFLAGS) STRIPFLAG $(UFLAG) $(CRT0) dbu___s.o $(LIBS) -o $@
	@-$(CHMOD) $(MODE) $@

ALLCLEAN:	allclean

allclean:	clean
	$(RM) $(DBULIB) dbu??_?.o $(ALL)

CLEAN:		clean

clean:
	$(RM) $(OBJS)

# ifdef BC
copy.o:		copy.c
	$(CC) -c $(f_FLAG) $(i_FLAG) copy.c
# endif

copy.o:		../h/trace.h

create.o:	../h/trace.h

dbuproctab.o:	../h/trace.h

destroy.o:	../h/trace.h

display.o:	../h/trace.h

help.o:		../h/trace.h

index.o:	../h/trace.h

main.o:		../h/trace.h

modify.o:	../h/trace.h

modupdate.o:	../h/trace.h

pr_prot.o:	../h/trace.h

pr_tree.o:	../h/trace.h

print.o:	../h/trace.h

rdwrbatch.o:	../h/trace.h

readtree.o:	../h/trace.h

rmqm.o:		../h/trace.h

save.o:		../h/trace.h

secupdate.o:	../h/trace.h

update.o:	../h/trace.h

# ifdef WENZLAFF
HOME=	/z/dbs/src/dbu
SRC=	convert.c	copy.c		create.c	dbuproctab.c	\
	destroy.c	display.c	gen.h		get_p_tid.c	\
	get_seq_att.c	help.c		index.c		dbu___s.c	\
	main.c		modify.c	modupdate.c	pr_prot.c	\
	pr_tree.c	print.c		purgetup.c	rdwrbatch.c	\
	readtree.c	resetrel.c	rmqm.c		rupdate.c	\
	save.c		secupdate.c	update.c	userdestroy.c	\
	dbu34_a.c	dbu34_c.c	dbu70_g.c	dbu34_i.c	\
	dbu34_m.c	Makefile

.save:		$(SRC)
	mount DISK /wrk
	CP $? $@ /wrk/dbu
	> $@
	umount DISK

$(HOME)/.save:	$(SRC)
	CP $? $(HOME)
	> $@

.PRECIOUS:	.save
.PRECIOUS:	$(HOME)/.save
# endif
