#Make Zoo
#
#The contents of this makefile are hereby released to the public domain.
#                                  -- Rahul Dhesi 1986/12/31
#
#This makefile should not be invoked directly, because different 
#targets require different compilation switches.  The standard make
#utility does not allow different switches to be specified for each target
#(except through recursive invocation, which takes more memory than 
#some systems have).  Invoke this makefile through one of the several
#shell scripts supplied.  For non *NIX systems, convert the appropriate
#shell script to one accepted by your system.
#
#This makefile expects two macro names, `cswitch' and `extra', to hold
#all the switches to be supplied to the C compiler.  It also expects
#a macro `ldswitch' to hold the switch for the loader when invoked.

#Destination directory where `make install' will put the programs.
DESTDIR = ../bin

cswitch =
extra = -DBIG_MEM -DNDEBUG

#List of all object files created for Zoo
ZOOOBJS = 	addbfcrc.o addfname.o basename.o comment.o crcdefs.o \
		getfile.o lzc.o lzd.o machine.o makelist.o misc.o misc2.o \
		nextfile.o needed.o options.o parse.o portable.o prterror.o \
		zoo.o zooadd.o zooadd2.o zoodel.o zooext.o zoolist.o \
		zoopack.o

FIZOBJS = fiz.o addbfcrc.o portable.o crcdefs.o

.c.o :
	cc $(cswitch) $(extra) $*.c

all : ERROR

zoo: $(ZOOOBJS)
	cc $(ldswitch) $(ZOOOBJS)

fiz: $(FIZOBJS)
	cc $(ldswitch) $(FIZOBJS)

#Install executable code into destination directory.  If your system
#has the `install' program invoke it as:  install -s zoo $(DESTDIR)/zoo
#
install : 
	mv zoo $(DESTDIR)/zoo
	mv fiz $(DESTDIR)/fiz

clean :
	/bin/rm -f core a.out $(ZOOOBJS) $(FIZOBJS)

lzd.o : lzd.c zoomem.h
	cc $(cswitch) $(extra) $*.c

lzc.o : lzc.c zoomem.h
	cc $(cswitch) $(extra) $*.c

addbfcrc.o : addbfcrc.c

addfname.o : addfname.c

basename.o : basename.c

comment.o : comment.c 

crcdefs.o : crcdefs.c

getfile.o : getfile.c zoomem.h
	cc $(cswitch) $(extra) $*.c

machine.o : machine.c nixtime.i
	cc $(cswitch) $(extra) $*.c

makelist.o : makelist.c

misc.o : misc.c 

misc2.o : misc2.c zoomem.h
	cc $(cswitch) $(extra) $*.c

options.o : options.c

nextfile.o :  nextfile.c

needed.o : needed.c

parse.o : parse.c

portable.o : portable.c

prterror.o : prterror.c

zoo.o :   zoo.c zoomem.h errors.i
	cc $(cswitch) $(extra) $*.c

zooadd.o : zooadd.c 

zooadd2.o : zooadd2.c

zoodel.o : zoodel.c 

zooext.o : zooext.c  errors.i
	cc $(cswitch) $(extra) $*.c

zoolist.o : zoolist.c 

zoopack.o : zoopack.c 
