INCL	= ../include
DB	= -g
CFLAGS	= -O -I$(INCL) $(DB) $(SYS)
SHELL = /bin/sh

LINTFLAGS = -bchux -I$(INCL)
GRLIB	= ../lib/grlib.a
PGRLIB	= ../lib/grlib_p.a
DGRLIB	= ../lib/grlib_d.a
SRCS	= utils.c
OBJS	= utils.o
POBJS	= utils.po
DOBJS	= utils.do
PROF	= -pg
DEBUG	= -g
RANLIB	= ranlib

.SUFFIXES: .out .do .po .o .c .F .f .e .r .y .yr .ye .l .s .cl .p
.c.po:
	if test -f $*.o ; then mv $*.o $*.b ; fi
	$(CC) -c $(CFLAGS) $(PROF) $*.c
	mv $*.o $*.po
	if test -f $*.b ; then mv $*.b $*.o ; fi

.c.do:
	if test -f $*.o ; then mv $*.o $*.b ; fi
	$(CC) -c $(CFLAGS) $(DEBUG) $*.c
	mv $*.o $*.do
	if test -f $*.b ; then mv $*.b $*.o ; fi


all: $(OBJS)
	ar ruv $(GRLIB) $?
	$(RANLIB) $(GRLIB)

prof: $(POBJS)
	ar ruv $(PGRLIB) $?
	$(RANLIB) $(PGRLIB)

debug: $(DOBJS)
	ar ruv $(DGRLIB) $?
	$(RANLIB) $(DGRLIB)

archive:
	echo 'Warning: assuming all object files are made'
	ar ruv $(GRLIB) $(OBJS)
	ar ruv $(PGRLIB) $(POBJS)
	ar ruv $(DGRLIB) $(DOBJS)

clean:
	rm -f $(OBJS) $(POBJS)

tags:
	ctags -x $(SRCS) > CTAGS

lint: llib-lutillib.ln

llib-lutillib.ln: $(SRCS)
# BSD
	lint -Cutillib $(LINTFLAGS) $(SRCS) > LINTLIBERRS 2>&1
	cp llib-lutillib.ln ../lib
# USG
#	 lint -o utillib $(LINTFLAGS) $(SRCS) > LINTLIBERRS 2>&1
#	 cp llib-lutillib.ln ../lib


xref:
	cxref -C $(SRCS) > XREF
