# makefile for zlib as a library
#
# date:    Sat Nov 17 14:27:48 1990
# version: 1.0
#
SECT		= 3
SUBSECT		= x
LIBTARG		= zlib
A		=
MANPAGE		= zlib.$(SECT)$(SUBSECT)
CATPAGE		= zlib.cat
MANSRC		= zlib.man
H_FILE		= zlib.h
HEADERS		= zdef.h
ARCFILE		= zlib.arc
SHARFILE	= zlib.shr
UUEFILE		= zlib.uue
OBJS		= zfopen.o zfclose.o zfgets.o zfeof.o zfilter.o zfgetc.o
SRCS		= zfopen.c zfclose.c zfgets.c zfeof.c zfilter.c zfgetc.c
OTHERS		= readme $(MANSRC) makefile $(H_FILE) $(HEADERS)
CFLAGS		=
LDFLAGS		= -s -nf
LIBS		=
LIBDIR		= c:\lib
MANDIR		= c:\man\man$(SECT)
INCDIR		= c:\include
TEST		= zcat
EXT		= .ttp


# directions...
#
directions:
		@echo type "make initial" to built $(LIBTARG) the first time
		@echo type "make all" to built $(LIBTARG)
		@echo type "make install" to built/install $(LIBTARG)
		@echo type "make test" to make test for $(LIBTARG)
		@echo type "make runtest" to test $(LIBTARG)
		@echo type "make clean" to remove objects
		@echo type "make clobber" to remove objects and $(LIBTARG)
		@echo type "make arc" to make source archive $(ARCFILE)
		@echo type "make shar" to make source shar file $(SHARFILE)
		@echo type "make uue" to make uuencoded $(LIBTARG) $(UUEFILE)


# main library target (during development)...
#
all:		$(LIBTARG)$(A)

$(LIBTARG)$(A):	$(OBJS)
		$(AR) rv $@ $?
		$(RANLIB) $(LIBTARG)$(A) >$(LIBTARG).out


# main target the first time...
#
initial:	$(OBJS)
		$(AR) rv $(LIBTARG)$(A) $(OBJS)
		$(RANLIB) $(LIBTARG)$(A) >$(LIBTARG).out


# manpage (use built-in .man.cat rule)...
#
manpage:	$(MANPAGE)

$(MANPAGE):	$(CATPAGE)
		entab $(CATPAGE) $(MANPAGE)

$(CATPAGE):	$(MANSRC)


# install lib, header, and manpage...
#
install:	install_lib install_h install_man

install_lib:	# $(LIBTARG)$(A)
		cp $(LIBTARG)$(A) $(LIBDIR)\$(LIBTARG)$(A)
		cp $(LIBTARG).ndx $(LIBDIR)\$(LIBTARG).ndx
		cp $(LIBTARG).out $(LIBDIR)\$(LIBTARG).out

install_man:
		cp $(MANPAGE) $(MANDIR)\$(MANPAGE)

install_h:
		cp $(H_FILE) $(INCDIR)\$(H_FILE)


# make a test program for the lib...
#
test:		$(LIBTARG)$(A) $(TEST).o
		$(CC) $(LDFLAGS) -o $(TEST) $(TEST).o $(LIBTARG)$(A) $(LIBS)
		@echo done making $(LIBTARG) test program.
		@echo execute with "make runtest".

runtest:
		@echo test ascii text file: ascii
		$(TEST)$(EXT) ascii >ascii.out
		cmp ascii ascii.out
#		rm ascii.out
		@echo test compressed file: asciic.z
		cp ascii asciic
		compress asciic
		$(TEST)$(EXT) asciic >asciic.out
		cmp ascii asciic.out
#		rm asciic.z asciic.out
		@echo test completed.

# others...
#
clean:
		rm *.o errs $(CATPAGE)

clobber:	clean
		rm $(LIBTARG) $(LIBTARG).ndx $(LIBTARG).out $(MANPAGE)

arc:
		$(ARC) a $(ARCFILE) $(OTHERS)
		$(ARC) a $(ARCFILE) $(SRCS)
		@echo done making $(ARCFILE)

shar:
		$(SHAR) -a $(OTHERS) $(SRCS) >$(SHARFILE)
		@echo done making $(SHARFILE)

uue:
		$(UUENCODE) $(LIBTARG)
		@echo done making $(UUEFILE)


# dependencies...
#
$(HEADERS):	$(H_FILE)
		$(TOUCH) $(HEADERS)

$(OBJS):	$(HEADERS)

$(TEST).o:	$(H_FILE) $(TEST).c
