# Makefile for libz
#
#	@(#)Makefile	5.2 (Berkeley) 1/19/99

CFLAGS=	-O
LIBC=	/lib/libc.a
SRCS=	adler32.c compress.c crc32.c gzio.c uncompr.c deflate.c trees.c \
	zutil.c inflate.c infblock.c inftrees.c infcodes.c infutil.c \
	inffast.c compressio.c
OBJS=	adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
	zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o \
	inffast.o compressio.o

all: libz libz_p

.c.o:
	@${CC} -c -pg ${CFLAGS} $*.c
	@ld -x -o profiled/$*.o -r $*.o
	${CC} ${CFLAGS} -c $*.c
	@ld -x -r $*.o
	@mv a.out $*.o

# trees.c and infblock.c are compiled without -O, otherwise the generated code
# dumps core when executed. Sorry, can't troubleshoot this problem, gotta learn
# some VAX assembly first...

trees.o: trees.c
	@${CC} -c -pg trees.c
	@ld -x -o profiled/trees.o -r trees.o
	${CC} -c trees.c
	@ld -x -r trees.o
	@mv a.out trees.o

infblock.o: infblock.c
	@${CC} -c -pg infblock.c
	@ld -x -o profiled/infblock.o -r infblock.o
	${CC} -c infblock.c
	@ld -x -r infblock.o
	@mv a.out infblock.o

libz libz_p: ${OBJS}
	@echo building profiled libz
	@cd profiled; ar cu ../libz_p ${OBJS}
	ranlib libz_p
	@echo building normal libz
	@ar cu libz ${OBJS}
	ranlib libz

clean: FRC
	rm -f ${OBJS} profiled/*.o libz libz_p

depend: FRC
	mkdep ${CFLAGS} ${SRCS}

install: FRC
	install -o bin -g bin -m 644 libz ${DESTDIR}/usr/lib/libz.a
	ranlib ${DESTDIR}/usr/lib/libz.a
	install -o bin -g bin -m 644 libz_p ${DESTDIR}/usr/lib/libz_p.a
	ranlib ${DESTDIR}/usr/lib/libz_p.a

lint: FRC
	lint ${CFLAGS} ${SRCS}

tags: FRC
	ctags ${SRCS}

FRC:

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
