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

SHELL=	/bin/sh
DBS= ../..
LIB=	../lib
GUTIL=	$(LIB)/g.a

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

# ifdef A7150
CONF=	a7150
# endif

# ifdef BC
CONF=	bc
# endif

# ifdef EC1834
CONF=	ec1834
# endif

# ifdef ESER_PSU
# ifdef TRACE
i_FLAG=	-d
# endif
CONF=	e_psu
# endif

# ifdef ESER_VMX
CONF=	e_vmx
# endif

# ifdef HP_UX
CONF=	hp_ux
# endif

# ifdef P8000
CONF=	p8000
# endif

# ifdef PDP70
# define PDP
# endif

# ifdef PDP
CONF=	pdp
AS=	as
ASFLAGS=-o
# endif

# ifdef VAX
CONF=	vax
# endif

# ifdef VENIX
CONF=	venix
# endif

# ifdef XENIX286
i_FLAG=	-i -M2s
CONF=	xenix
# endif

# ifdef XENIX386
CONF=	xenix
# 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
# ifdef RANLIB
MKLIB=	ranlib
# else
MKLIB=	@echo ranlib
# endif
RM=	-rm -f
TOUCH=	touch

OBJS=	getufield.o	customer.o	append.o	atof.o		\
	atol.o		bequal.o	bitpos.o	concat.o	\
	fullwait.o	need.o		freebuf.o	syserr.o	\
	errfilen.o	version.o	iocv.o		itoa.o		\
	length.o	scompare.o	sequal.o	ftoa.o		\
	pad.o		pmove.o		prargs.o	ztack.o		\
	oatoi.o		setflag.o	cat.o		fgetline.o	\
	set_so_buf.o	set_si_buf.o	trace.o		atoi.o		\
	smove.o		xputchar.o	flush.o		bmove.o		\
	locv.o		bitcnt.o	tTf.o		i1toi2.o	\
	gen.o		dir.o

INSTALL:	install

install:	$(GUTIL)

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

UNLOAD:		unload

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

# ifdef BMOVE
conf:
	$(RM) bmove.[cs]
	CP bmove.src bmove.c
	@-$(CHMOD) $(LIBMODE) bmove.c
# else
conf:
	$(RM) bmove.[cs]
	CP bmove.$(CONF) bmove.s
	@-$(CHMOD) $(LIBMODE) bmove.s
# endif

ALLCLEAN:	allclean

allclean:	clean
	$(RM) bmove.[cs] $(GUTIL)

CLEAN:		clean

clean:
	$(RM) $(OBJS)

# ifdef PDP
.s.o:
	$(AS) $(ASFLAGS) $@ /usr/include/sys.s $<
# else
.s.o:
	$(CC) -c $<
# endif

# ifdef WENZLAFF
HOME=	/z/dbs/src/gutil
SRC=	append.c	atof.c		atoi.c		atol.c		\
	bequal.c	bitcnt.c	bitpos.c	cat.c		\
	concat.c	flush.c		fgetline.c	freebuf.c	\
	ftoa.c		fullwait.c	gen.c		gen.h		\
	getufield.c	iocv.c		itoa.c		length.c	\
	locv.c		need.c		need.h		bmove.src	\
	oatoi.c		pad.c		pmove.c		prargs.c	\
	scompare.c	sequal.c	set_si_buf.c	set_so_buf.c	\
	setflag.c	smove.c		syserr.c	trace.c		\
	xputchar.c	ztack.c		i1toi2.c	tTf.c		\
	bmove.bc	bmove.p8000	bmove.pdp	bmove.vax	\
	customer.c	dir.c		errfilen.c	version.c	\
	Makefile

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

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

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