# Makefile for LHarc UNIX Archiver Driver
#		Copyright(C) MCMLXXXIX  Yooichi.Tagawa
# V0.01  Alpha Version				1989.05.28  Y.Tagawa
# V0.02  Alpha Version R2			1989.05.29  Y.Tagawa
# V0.03  Release #3  Beta Version		1989.07.02  Y.Tagawa
# V0.03b Modified				1989.07.13  Y.Tagawa
# V1.00  Fixed					1989.09.19  Y.Tagawa

#-----------------------------------------------------------------------
# CFLAGS macro difitions...
#-----------------------------------------------------------------------
# DIRECTORY ACCESS STUFF
#  The default (no need swtich) is your machine has
#  opendir(),readdir(),closedir() library and 'direct' structure used.
#  If your machine has no opendir (), readdir (), closedir ()
#	-DNONSYSTEM_DIR_LIBRARY
#  and add lhdir.o into OBJS macro (see bellow)
#  If your machine are 'dirent' (not 'direct') structure used,
#	-DSYSV_SYSTEM_DIR
#  Otherwise "Give up!"
#	-DNODIRECTORY
#
#-----------------------------------------------------------------------
# MEMORY ACCESS STUFF
#  Your machine has no BSTRING library (bcmp,bcopy,bzero).
#	-DNOBSTRING
#
#-----------------------------------------------------------------------
# TIME STUFF
#  Your include file '<sys/time.h>' has no 'struct tm',  define this.
#	-DSYSTIME_HAS_NO_TM
#
#-----------------------------------------------------------------------
# FILE I/O STUFF
#  Your machine has no ftruncate system-call, define this.
#	-DNOFTRUNCATE
#-----------------------------------------------------------------------

LHOBJS		= lharc.o lhadd.o lhlist.o lzhuf.o lhext.o lhio.o

# most of 4.[23]BSD
#	- vax 4.[23]BSD, SONY NEWS 4.[23]BSD etc.
SWITCHIES	=
OBJS		= $(LHOBJS)

# sample of System-V
#	- NEC EWS4800		(has bstring and ftruncate)
#SWITCHIES	= -DNONSYSTEM_DIR_LIBRARY -DSYSTIME_HAS_NO_TM
#OBJS		= $(LHOBJS) lhdir.o


#CC		= gcc
#CFLAGS		= -g -O $(SWITCHIES)
##CC		= cc
##CFLAGS	= -g -p $(SWITCHIES)
##LDFLAGS	= -p
CC		= cc
CFLAGS		= -g $(SWITCHIES)
TAPEFILES	= Install READ.ME Makefile lharc.doc lharc.n lharc.man \
		  lharc.c lzhuf.c lhdir.c lhdir.h lhio.c lhio.h lhlist.c \
		  lharc.h lhadd.c lhext.c

DESTDIR		= /usr/pds/bin
#DESTDIR		= /usr/new
# DESTDIR		= /usr/local
OLHARC		= lharc

#	Xlharc is test binary.  Please rename to lharc at install.
#	(see install target)
all	:	xlharc

xlharc	: $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS)


#	For Debugging LzHuff module.
lzhuf	: lzhuf.c
	$(CC) $(CFLAGS) -DSELFMAIN -o $* $*.c

lharc.o lhadd.o lhext.o lhlist.o : lharc.h
lharc.o lhdir.o	: lhdir.h
lzhuf.o	lhio.o	: lhio.h

lharc.man : lharc.n
	jnroff -man lharc.n >lharc.man

clean:
	rm -f core lharc.o lzhuf.o lhdir.o lhio.o lharc.tar lharc.tar.Z

moreclean:
	rm -f core *.o lharc.tar lharc.tar.Z *~ \#*

install:
	install -s xlharc $(DESTDIR)/lharc

dist:	lharc.tar.Z

lharc.tar: $(TAPEFILES)
	mkdir dist.lharc
	ln $(TAPEFILES) dist.lharc
	tar cf lharc.tar dist.lharc
	rm -rf dist.lharc

lharc.tar.Z: lharc.tar
	compress <lharc.tar >lharc.tar.Z

distmslzh:
	$(OLHARC) cgt lharc.lzh $(TAPEFILES)

distlzh:
	mkdir dist.lharc
	ln $(TAPEFILES) dist.lharc
	$(OLHARC) c lharc.lzh dist.lharc
	rm -rf dist.lharc

fixstamp:
	touch $(TAPEFILES)
