#==============================================================================
# Makefile for UnZip, ZipInfo & FUnZip:  Unix, OS/2, MS-DOS ("real" makes only)
# Version:  5.1 (inflate,explode)                               25 October 1992
#==============================================================================
#
#
# INSTRUCTIONS (such as they are):
#
# "make vax"	-- makes UnZip on a generic Unix VAX in the current directory
# "make"	-- uses environment variable SYSTEM to set the type system for
#		    which to compile.  This doesn't work for some particularly
#		    brain-damaged versions of make (VAX BSD, Gould, and SCO
#		    Unix are in this group).  If SYSTEM is not set, gives in-
#		    structions on what to try instead.
# "make list"	-- lists all supported systems (targets)
# "make wombat" -- chokes and dies if you haven't added the specifics for your
#		    Wombat 68000 (or whatever) to the systems list
#
# CF are flags for the C compiler.  LF are flags for the loader.  LF2 are more
# flags for the loader, if they need to be at the end of the line instead of at
# the beginning (for example, some libraries).  ZC, ZL and ZL2 are the corre-
# sponding flags for ZipInfo, and FC, FL and FL2 go with FUnZip.  LOCAL_UNZIP
# is an environment variable that can be used to add default C flags to your
# compile without editing the Makefile (e.g., -DDEBUG_STRUC, or -FPi87 on PCs).
#
# Some versions of make do not define the macro "$(MAKE)"; this is rare, but
# if things don't work, try using "make" instead of "$(MAKE)" in your system's
# makerule.  Or try adding the following line to your .login file:
#	setenv MAKE "make"
# (That never works--makes which are too stupid to define MAKE are also too
# stupid to look in the environment--but try it anyway for kicks. :-) )
#
# Memcpy and memset are provided for those systems that don't have them; they
# are in shared.c and will be used if -DZMEM is included in CF.  These days
# almost all systems have them.
#
# Be sure to test your new UnZip (and ZipInfo and FUnZip); successful compila-
# tion does not always imply a working program.


#####################
# MACRO DEFINITIONS #
#####################

# Defaults most systems use (use LOCAL_UNZIP in environment to add flags, 
# such as -DNOMEMCPY).

# UnZip flags
CC = cc#	try using "gcc" target rather than changing this (if you do,
LD = cc#	you MUST change LD, too--else "unresolved symbol:  ___main")
LOC = $(LOCAL_UNZIP)
CF = -O $(LOC)
LF = -o unzip
LF2 = -s

# ZipInfo flags
ZC = -DZIPINFO
ZL = -o zipinfo
ZL2 = $(LF2)

# FUnZip flags
FC = -DFUNZIP
FL = -o funzip
FL2 = $(LF2)

# general-purpose stuff
CP = cp
RM = rm -f
E =
O = .o
M = unix
SHELL = /bin/sh
INSTALL = cp#	 	   probably can change this to 'install' if you have it
BINDIR = /usr/local/bin#   target directory - where to install executables
MANDIR = /usr/man/manl#    target directory - where to install man pages

# object files
OBJS1 = unzip$O crypt$O envargs$O explode$O extract$O file_io$O inflate$O
OBJS2 = mapname$O match$O shared$O unreduce$O unshrink$O
OBJS = $(OBJS1) $(OBJS2) $M$O
LOBJS = $(OBJS)
OBJS_OS2 = $(OBJS1:.o=.obj) $(OBJS2:.o=.obj) os2.obj
OBJZ = zipinfo$O envargs$O match$O shared$O
OBJZ_OS2 = $(OBJZ:.o=.obj) os2_.obj
OBJF = funzip$O crypt_$O inflate$O
OBJF_OS2 = $(OBJF:.o=.obj) # os2_.obj ??
OBJF_DOS = funzip.obj inflate.obj

# executables
UNZIPS = unzip$E zipinfo$E funzip$E
MANS = unzip.1 zipinfo.1 funzip.1
DOCS = unzip.doc zipinfo.doc funzip.doc

# list of supported systems/targets in this version
SYSTEMS1 = 386i 3Bx 7300 amdahl apollo aviion bcc_dos bsd bull coherent
SYSTEMS2 = convex cray cray_cc cray_v3 cyber_sgi dec dnix encore eta gcc
SYSTEMS3 = gcc_dos generic generic2 gould hk68 hp hpux indigo linux minix
SYSTEMS4 = mips msc_dos next next10 next2x next3x osf1 p_iris ptx pyramid
SYSTEMS5 = rs6000 rtaix sco_dos sco_x286 sequent sgi stellar sun sysv
SYSTEMS6 = sysv6300 tahoe ultrix vax wombat xenix xos

# SYS_UTIL1 = zipinfo zi_msc zi_bcc zi_djgcc zi_gcc zi_indigo funzip fu_gcc
# SYS_UTIL2 = 


####################
# DEFAULT HANDLING #
####################

# The below will try to use your shell variable "SYSTEM" as the type system
# to use (e.g., if you type "make" with no parameters at the command line).
# The test for $(MAKE) is necessary for VAX BSD make (and Gould, apparently),
# as is the "goober" (else stupid makes see an "else ;" statement, which they
# don't like).  "goober" must then be made into a valid target for machines
# which DO define MAKE properly (and have SYSTEM set).  Quel kludge, non?
# And to top it all off, it appears that the VAX, at least, can't pick SYSTEM
# out of the environment either (which, I suppose, should not be surprising).
# [Btw, if the empty "goober" target causes someone else's make to barf, just
# add an "@echo > /dev/null" command (or whatever).  Works OK on the Amdahl
# and Crays, though.]

default:
	@if test -z "$(MAKE)"; then\
		if test -z "$(SYSTEM)";\
		then make help;\
		else make $(SYSTEM) MAKE="make";\
		fi;\
	else\
		if test -z "$(SYSTEM)";\
		then $(MAKE) help;\
		else $(MAKE) $(SYSTEM) goober;\
		fi;\
	fi

goober:

help:
	@echo
	@echo\
 "  If you're not sure about the characteristics of your system, try typing"
	@echo\
 '  "make generic".  If the compiler barfs and says something unpleasant about'
	@echo\
 '  "timezone redefined," try typing "make clean" followed by "make generic2".'
	@echo\
 '  One of these actions should produce a working copy of unzip on most Unix'
	@echo\
 '  systems.  If you know a bit more about the machine on which you work, you'
	@echo\
 '  might try "make list" for a list of the specific systems supported herein.'
	@echo\
 '  And as a last resort, feel free to read the numerous comments within the'
	@echo\
 '  Makefile itself.  Note that to compile the decryption version of UnZip,'
	@echo\
 '  you must obtain the full versions of crypt.c and crypt.h (see the "Where"'
	@echo\
 '  file for ftp and mail-server sites).  Have an excruciatingly pleasant day.'
	@echo

list:
	@echo
	@echo\
 'Type "make <system>", where <system> is one of the following:'
	@echo
	@echo  "	$(SYSTEMS1)"
	@echo  "	$(SYSTEMS2)"
	@echo  "	$(SYSTEMS3)"
	@echo  "	$(SYSTEMS4)"
	@echo  "	$(SYSTEMS5)"
	@echo  "	$(SYSTEMS6)"
	@echo
	@echo\
 'Otherwise set the shell variable SYSTEM to one of these and just type "make".'
#	@echo\
# 'Targets for related utilities (ZipInfo and FUnZip) include:'
#	@echo
#	@echo  "	$(SYS_UTIL1)"
#	@echo  "	$(SYS_UTIL2)"
	@echo
	@echo\
 'For further (very useful) information, please read the comments in Makefile.'
	@echo

generic_msg:
	@echo
	@echo\
 '  Attempting "make generic" now.  If this fails for some reason, type'
	@echo\
 '  "make help" and/or "make list" for suggestions.'
	@echo


###############################################
# BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
###############################################

.c$O:
	$(CC) -c $(CF) $*.c

.1.doc:
	nroff -Tman -man $< | col -b | uniq | \
	 sed 's/Sun Release ..../Info-ZIP        /' > $@


all:		generic_msg generic
unzips:		$(UNZIPS)
docs:		$(DOCS)
unzipsman:	unzips docs
unzipsdocs:	unzips docs


clean:
	rm -f $(OBJS) unzip$E $(OBJZ) zipinfo$E $(OBJF) funzip$E

install:	$(UNZIPS) $(MANS)
	$(INSTALL) $(UNZIPS) $(BINDIR)
	$(INSTALL) unzip.1 $(MANDIR)/unzip.l
	$(INSTALL) zipinfo.1 $(MANDIR)/zipinfo.l
	$(INSTALL) funzip.1 $(MANDIR)/funzip.l


# EDIT HERE FOR PARALLEL MAKES on Sequent (and others?)--screws up MS-DOS
# make utilities if default:  change "unzip$E:" to "unzip$E:&"

unzip$E:	$(OBJS)			# add `&' for parallel makes
	$(LD) $(LF) $(LOBJS) $(LF2)

zipinfo$E:	$(OBJZ)			# add `&' for parallel makes
	$(LD) $(ZL) $(OBJZ) $(ZL2)

funzip$E:	$(OBJF)			# add `&' for parallel makes
	$(LD) $(FL) $(OBJF) $(FL2)


crypt$O:	crypt.c unzip.h zip.h crypt.h
envargs$O:	envargs.c unzip.h
explode$O:	explode.c unzip.h
extract$O:	extract.c unzip.h crypt.h
file_io$O:	file_io.c unzip.h crypt.h
funzip.o:	funzip.c unzip.h crypt.h
funzip.obj:	funzip.c unzip.h crypt.h crypt.c zip.h	# MS-DOS only
inflate$O:	inflate.c unzip.h
mapname$O:	mapname.c unzip.h
match$O:	match.c unzip.h
msdos$O:	msdos.c unzip.h				# MS-DOS only
os2$O:		os2.c unzip.h				# OS/2 only
shared$O:	shared.c unzip.h
unix$O:		unix.c unzip.h				# Unix only
unreduce$O:	unreduce.c unzip.h
unshrink$O:	unshrink.c unzip.h
unzip$O:	unzip.c unzip.h crypt.h
zipinfo$O:	zipinfo.c unzip.h

os2_$O:	os2.c unzip.h				# OS/2 only
	$(CP) os2.c os2_.c
	$(CC) -c $(CF) $(ZC) os2_.c
	$(RM) os2_.c

crypt_$O:	crypt.c unzip.h zip.h crypt.h	# used by funzip
	$(CP) crypt.c crypt_.c
	$(CC) -c $(CF) $(FC) crypt_.c
	$(RM) crypt_.c


################################
# INDIVIDUAL MACHINE MAKERULES #
################################

#####   TABS ARE REQUIRED FOR MANY VERSIONS OF "MAKE"!   #####


# ---------------------------------------------------------------------------
#   Generic targets (can't assume make utility groks "$(MAKE)")
# ---------------------------------------------------------------------------

generic:	unzips	# first try if unknown

generic2:		# second try if unknown:  hope make is called "make"...
	make unzips CF="$(CF) -DBSD"

# ---------------------------------------------------------------------------
#   "Normal" group (both big- and little-endian, structure-padding or not):
# ---------------------------------------------------------------------------

386i:		unzips	# sun386i, SunOS 4.0.2
3Bx:		unzips	# AT&T 3B2/1000-80; should work on any WE32XXX machine
7300:		unzips	# AT&T 7300 (M68000/SysV)
apollo:		unzips	# Apollo Domain/OS machines
bull:		unzips	# Bull DPX/2, BOS 2.00.45 (doesn't require -Xk switch)
coherent:	unzips	# Coherent 3.10, Mark Williams C
convex:		unzips	# Convex C-120 and C-210 (-O is enough; -ext is default)
cray_cc:	unzips	# Cray-2 and Y-MP, using default (possibly old) compiler
dec:		unzips	# DEC 5820 (MIPS RISC), test version of Ultrix v4.0
encore:		unzips	# Multimax
eta:		unzips	# ETA-10P*, hybrid SysV with BSD 4.3 enhancements
gould:		unzips	# Gould PN9000 running UTX/32 2.1Bu01
hp:		unzips	# HP 9000 series (68020), 4.3BSD or HP-UX A.B3.10 Ver D
hpux:		unzips	# (to match zip's makefile entry)
mips:		unzips	# MIPS M120-5(?), SysV.3 [error in sys/param.h file?]
next10:		unzips	# NeXT (generic; use next2x or next3x for better opt.)
pyramid:	unzips	# Pyramid 90X, prob. all, under >= OSx4.1, BSD universe
rtaix:		unzips	# IBM RT 6150 under AIX 2.2.1
sco:		unzips	# Xenix/386 (tested on 2.3.1); SCO Unix 3.2.0.
stellar:	unzips	# gs-2000
sun:		unzips	# Sun 3, 4; SunOS 4.x (SOME SYSTEMS ARE SYSTEM V!)
tahoe:		unzips	# tahoe (CCI Power6/32), 4.3BSD
ultrix:		unzips	# VAXen, DEC 58x0 (MIPS guts), DECstation 2100; v4.x
vax:		unzips	# general-purpose VAX target (not counting VMS)
xenix:		unzips	# Xenix/386 (tested on 2.3.1); SCO Unix 3.2.0.

# ---------------------------------------------------------------------------
#   BSD group (for timezone structs [struct timeb]):
# ---------------------------------------------------------------------------

bsd:		_bsd	# generic BSD (BSD 4.2 & Ultrix handled in unzip.h)

_bsd:
	$(MAKE) unzips CF="$(CF) -DBSD"

# ---------------------------------------------------------------------------
#   SysV group (for extern long timezone and ioctl.h instead of sgtty.h):
# ---------------------------------------------------------------------------

amdahl:		_sysv	# Amdahl (IBM) mainframe, UTS (SysV) 1.2.4 and 2.0.1
aviion:		_sysv	# Data General AViiONs, DG/UX 4.3x
sgi:		_sysv	# Silicon Graphics Iris 4D, Irix SysV rel. 3.3.2
sysv:		_sysv	# generic System V Unix (Xenix handled in unzip.h)
xos:		_sysv	# Olivetti LSX-3005..3045, X/OS 2.3 and 2.4

_sysv:
	$(MAKE) unzips CF="$(CF) -DSYSV"

# ---------------------------------------------------------------------------
#   "Unique" group (require non-standard options):
# ---------------------------------------------------------------------------

# MS-DOS:  Borland C++ 3.0
bcc_dos:	_bcc_dos zi_bcc fu_bcc

_bcc_dos:	bcc_rsp
	$(MAKE) unzip.exe CF="-O2 $(LOC)" CC=bcc LD=bcc E=.exe O=.obj\
	 M=msdos LOBJS="" LF="@bcc_rsp" LF2=""
	del bcc_rsp

bcc_rsp:
	echo $(OBJS1:.o=.obj) > bcc_rsp
	echo msdos.obj $(OBJS2:.o=.obj) >> bcc_rsp

zi_bcc:
	$(MAKE) zipinfo.exe CF="-O2 $(LOC)" CC=bcc LD=bcc E=.exe O=.obj\
	 ZL="" ZL2="" CP=copy RM=del

fu_bcc:
	$(MAKE) funzip.exe CF="-O2 $(LOC)" CC=bcc LD=bcc E=.exe O=.obj\
	 OBJS="$(OBJF_DOS)" FL="" FL2="" CP=copy RM=del

# Cray-2 and Y-MP, running Unicos 5.1 to 6.1 (SysV + BSD enhancements)
# and Standard (ANSI) C compiler 1.5, 2.0 or 3.0.
cray:
	$(MAKE) unzips CC=scc LD=scc

# Ditto, for Cray Standard C 3.0 or later.
cray_v3:
	$(MAKE) unzips CC="scc" LD="scc" CF="$(CF) -h scalar3 -h vector3"

# The unzip41 build on a Cyber 910/SGI running Irix v3.3.3 was successful
# with the following change to Makefile:
cyber_sgi:
	$(MAKE) unzips CF="$(CF) -I/usr/include/bsd"\
	 LF="-lbsd $(LF)"

# The DIAB dnix 5.3 compiler does not define __STDC__ but understands
# prototypes, void, etc., anyway.  It also does not provide any predefined
# macros to detect this (aside from "unix" and the four file, line, time
# and date macros).  Thus we must define MODERN and PROTO by hand.
#
dnix:		# 680X0, DIAB dnix 5.2/5.3 (a Swedish System V clone)
	$(MAKE) unzips CF="$(CF) -X7 -X9 -DDNIX"

# Generic BSDish Unix gcc.  ``The -O2 only works with the latest version of
# gcc; you may have to use -O only for earlier versions.  I have no idea why
# -s causes this bug in gcc.''  [Bug:  "nm: unzip: no name list", "collect:
# /usr/bin/nm returned 1 exit status".]  If you don't have strip, don't
# worry about it (it just makes the executable smaller).
#
gcc:
	$(MAKE) unzips CC=gcc LD=gcc CF="-O2 $(LOC)" LF2=""
	strip $(UNZIPS)

# MS-DOS with D.J. Delorie's djgcc 1.08.  Note that go32 doesn't support
# DOS function 0x38, so the default date format is used with the -v option.
#
gcc_dos: _gcc_dos zi_gcc fu_gcc

_gcc_dos: gcc_rsp
	$(MAKE) unzip CC=gcc LD=gcc M=msdos CF="-O2 -Wall $(LOC)" CP=copy\
         RM=del LOBJS="" LF="-o unzip @gcc_rsp" LF2=""
	aout2exe unzip
	del gcc_rsp
	del unzip

gcc_rsp:
	echo $(OBJS1) > gcc_rsp
	echo msdos.o $(OBJS2) >> gcc_rsp

zi_gcc:
	$(MAKE) zipinfo CF="-O2 -Wall $(LOC)" CC=gcc LD=gcc ZL2=""\
	 CP=copy RM=del
	aout2exe zipinfo
	del zipinfo

fu_gcc:
	$(MAKE) funzip CF="-O2 $(LOC)" CC=gcc LD=gcc FL2=""\
	 CP=copy RM=del
	aout2exe funzip
	del funzip

# Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
hk68:
	$(MAKE) unzips CC="gcc" LD="gcc" LF="-n $(LF)" \
	 CF="-ga -X138 $(LOC) -Dlocaltime=localti -Dtimezone=timezon"

# Rules needed to build the unzip program for an SGI Iris Indigo running
# Irix Version 4.0.1
indigo:
	$(MAKE) unzips CF="-cckr $(CF) -DSYSV $(LOC)"

# Linux is almost sysv but not quite
linux:			# Linux pre-0.96 with gcc 2.1
#	$(MAKE) unzips CF="$(CF) -DLINUX" CC=gcc LD=gcc  (linux pre-defined?)
	$(MAKE) unzips CC=gcc LD=gcc

# Minix 1.5 PC for the 386 with gcc or bcc.  [GRR: add LD=gcc?]
minix:
	$(MAKE) unzips CF="$(CF) -DMINIX" CC=gcc

# MS-DOS:  Microsoft C 6.0 and NMAKE.  Can't use SYSTEM environment variable
# ("default" target is > 200 characters).  "nmake msc_dos" works fine, aside
# from an irrelevant message (possibly) about the creation of a temporary file.
# Environment variable LOCAL_UNZIP should be set via "SET LOCAL_UNZIP=-FPi87"
# if you use the 80x87 library; also add -G2 or -G3 if using a 286/386/486.
#
msc_dos:	_msc_dos zi_msc fu_msc

_msc_dos:	msc_rsp
	$(MAKE) unzip.exe CF="-W3 -Oait -Gs -nologo $(LOC)" CC=cl LD=link E=.exe\
	 O=.obj M=msdos LOBJS="" LF="@msc_rsp" LF2=""
	del msc_rsp

msc_rsp:
	echo $(OBJS1:.o=.obj) + > msc_rsp
	echo msdos.obj $(OBJS2:.o=.obj)/noi/e/st:0x1000; >> msc_rsp

zi_msc:
	$(MAKE) zipinfo.exe CF="-Oait -Gs -nologo $(LOC)" CC=cl LD=link E=.exe\
	 O=.obj ZL="/noi/nol/e" ZL2=",zipinfo;" CP=copy RM=del

fu_msc:		# (probably over 128-char limit)
	$(MAKE) funzip.exe CF="-Oait -Gs -nologo $(LOC)" CC=cl LD=link E=.exe\
	 O=.obj OBJS="$(OBJF_DOS)" FL="/noi/nol/e" FL2=",funzip;" CP=copy\
	 RM=del

# $(LOCAL_UNZIP):  math libraries and/or any other personal or debugging
#                  definitions:  e.g., SET LOCAL_UNZIP=-FPi87 -DDEBUG_STRUC
# $(NOD):  intended to be used as   SET NOD=-link /nod:slibcep   to allow the
#          use of default library names (slibce.lib) instead of protected-mode
#          names (slibcep.lib), but it fails:  MSC adds its own /nod qualifier,
#          and there seems to be no way to override this.  Typical...
#
msc_os2:		# 16-bit OS/2 (1.x) with MSC 6.00 (use makefile.os2)
	$(MAKE) -nologo unzips CC=cl LD=cl E=.exe O=.obj\
	 OBJS="$(OBJS_OS2)" OBJZ="$(OBJZ_OS2)"\
	 CF="-nologo -AC -Ocegit -G2s -DOS2 -DMSC $(LOC)"\
	 LF="-nologo -AC $(LOC) -Lp -F 2000"\
	 LF2="unzip.def -o unzip.exe $(NOD)" CP=copy RM=del\
	 ZL="-nologo -AC $(LOC) -Lp -Fb" ZL2="zipinfo.def -o zipinfo.exe"

# NeXT info.
next:
	@echo
	@echo\
 '  Please pick a specific NeXT target:  "make next10" will create a generic'
	@echo\
 '  NeXT executable; "make next2x" will create a smaller executable (for'
	@echo\
 '  NeXTstep 2.0 and higher); "make next3x" will create a small executable'
	@echo\
 '  with significantly better optimization (NeXTstep 3.0 and higher only).'
	@echo

# NeXT 2.x: make the executable smaller.
next2x:			# 68030 BSD 4.3+Mach
	$(MAKE) unzips LF2="-object -s"

# NeXT 3.x: as above, plus better optimization.
next3x:			# 68030 BSD 4.3+Mach
	$(MAKE) unzips CF="-O2 $(LOC)" LF2="-object -s"

# Rules to build the unzip program on a DecStation running DEC OSF/1 V1.0.
# This machine hasn't got ftime(3) in the standard C library.
osf1:
	$(MAKE) unzips LF2="-lbsd"

# I successfully compiled and tested the unzip program (v30) for the
# Silicon Graphics environment (Personal Iris 4D20/G with IRIX v3.2.2)
p_iris:
	$(MAKE) unzips CF="$(CF) -I/usr/include/bsd -DBSD"\
	 LF="-lbsd $(LF)"

# Sequent Symmetry running Dynix/ptx (sort of SysV.3):  needs to link
# with libseq to get symlink().
ptx:
	$(MAKE) unzip CF="$(CF) -DSYSV -DTERMIO" LF2="$(LF2) -lseq"

# I have finished porting unzip 3.0 to the Pyramid 90X under OSX4.1.
# The biggest problem was the default structure alignment yielding two
# extra bytes.  The compiler has the -q option to pack structures, and
# this was all that was needed.  To avoid needing ZMEMS we could compile
# in the AT&T universe, but it runs more slowly!
#
#UnZip 5.0f:  moved to regular targets as test
#pyramid:	# Pyramid 90X, probably all, under >= OSx4.1, BSD universe
#	make unzips CF="$(CF) -q"

# IBM RS/6000 under AIX 3.2
rs6000:
	$(MAKE) unzips CF="$(CF) -DBSD -D_BSD -DUNIX" LF="-lbsd $(LF)"

# SCO cross compile from unix to DOS. Tested with Xenix/386 and OpenDeskTop.
# Should work with Xenix/286 as well. (davidsen)  Note that you *must* remove
# the Unix objects and executable before doing this!  (Piet Plomp:  gcc won't
# recognize the -M0 flag which forces 8086 code.)
#
sco_dos:
	$(MAKE) unzips CF="-O $(LOC) -DNO_ERRNO -dos -M0" LF="-dos -F 2000"\
	 LF2="-o unzip.exe" ZL="-dos" ZL2="-o zipinfo.exe" FL="-dos"\
	 FL2="-o funzip.exe"

# SCO Xenix/286 2.2.1
sco_x286:
	$(MAKE) unzips CF="$(CF) -Ml2" LF="$(LF) -Ml2"

# Sequent Symmetry is a 386 but needs -DZMEM
# This should also work on Balance but I can't test it just yet.
sequent:	# Sequent w/Dynix
	$(MAKE) unzips CF="$(CF) -DBSD -DZMEM"

# AT&T 6300+, System V.2 Unix:  run-time out-of-memory error if don't use -Ml;
# also compile-time error if work arrays dimensioned at HSIZE+2 (>32K)
sysv6300:
	$(MAKE) unzips CF="$(CF) -Ml -DSYSV" LF="$(LF) -Ml"\
	 ZL="$(ZL) -Ml" FL="$(FL) -Ml"

# I didn't do this.  I swear.  No, really.
wombat:		# Wombat 68000 (or whatever)
	@echo
	@echo  '	Ha ha!  Just kidding.'
	@echo


################
# ATTRIBUTIONS #
################

# Thanks to the following people for their help in testing and/or porting
# to various machines (and thanks to the many others who aren't listed
# here but should be):
#
#  original, BSDish Unix targets:  Carl Mascott <cmascott@world.std.com>
#  386i:	Richard Stephen <stephen@corp.telecom.co.nz>
#  3Bx:		Bob Kemp <hrrca!bobc@cbnewse.att.com>
#  7300:	Richard H. Gumpertz <rhg@cpsolv.CPS.COM>
#		Greg Roelofs <roelofs@nas.nasa.gov>
#  amdahl:	Kim DeVaughn <ked01@juts.ccc.amdahl.com>, Greg Roelofs
#  apollo:	Tim Geibelhaus
#  aviion:	Bruce Kahn <bkahn@archive.webo.dg.com>
#  bcc_dos:	Onno van der Linden <linden@fwi.uva.nl>
#  bull:	Matt D'Errico <doc@magna.com>
#  coherent:	David Fenyes <dfenyes@thesis1.med.uth.tmc.edu>
#  convex:	Rafal Maszkowski <rzm@mat.torun.edu.pl>
#		Rafael Pappalardo <rafapa@obelix.cica.es>
#		Randy Wright <rwright@convex.com>
#  cray:	Greg Roelofs, Paul Borman <prb@cray.com>
#  cray_cc:	Greg Roelofs
#  cray_v3:	Greg Roelofs
#  cyber_sgi:	Clint Pulley <u001@cs910.cciw.ca>
#  dec:		"Moby" Dick O'Connor <djo7613@u.washington.edu>
#  dnix:	Bo Kullmar <bk@kullmar.se>
#  eta:		Greg Flint <afc@klaatu.cc.purdue.edu>
#  gcc:		Jean-loup Gailly <jloup@chorus.fr>
#  gcc_dos:	Onno van der Linden
#  gcc_os2:	Kai Uwe Rommel <rommel@informatik.tu-muenchen.de>
#  gould:	Onno van der Linden
#  hk68:	John Limpert <gronk!johnl@uunet.UU.NET>
#  hp:		Randy McCaskile <rmccask@seas.gwu.edu> (HP-UX)
#		Gershon Elber <gershon@cs.utah.edu> (HP BSD 4.3)
#  icc_os2:	Kai Uwe Rommel
#  indigo:	Kjetil Wiekhorst J|rgensen <jorgens@lise.unit.no>
#  linux:	Humberto Ortiz-Zuazaga <zuazaga@ucunix.san.uc.edu>
#  minix:	Kai Uwe Rommel (Minix 1.5)
#  mips:	Peter Jones <jones@mips1.uqam.ca>
#  msc_dos:	Greg Roelofs <roe2@ellis.uchicago.edu>
#		Piet W. Plomp <piet@icce.rug.nl>
#  msc_os2:	Wim Bonner <wbonner@yoda.eecs.wsu.edu>
#		Kai Uwe Rommel, Greg Roelofs
#  next:	Greg Roelofs
#  next10:	Mark Adler <madler@cco.caltech.edu>
#  next2x:	Mark Adler
#  next3x:	Mark Adler
#  osf1:	Kjetil Wiekhorst J{\o}rgensen
#  p_iris:	Valter V. Cavecchia <root@itnsg1.cineca.it>
#  ptx:		Alan Phillips <postmaster@lancaster.ac.uk>
#  pyramid:	James Dugal <jpd@usl.edu>
#  rs6000:	Filip Gieszczykiewicz <fmg@smi.med.pitt.edu>
#		Trevor Paquette <tpaquett@ita.lgc.com>
#  rtaix:	Erik-Jan Vens
#  sco:		Onno van der Linden (SCO Unix 3.2.0)
#   		Bill Davidsen <davidsen@crdos1.crd.ge.com> (Xenix/386)
#  sco_dos:	Bill Davidsen, Piet W. Plomp
#  sco_x286:	Ricky Mobley <ddi1!lrark!rick@uunet.UU.NET>
#  sequent:	Phil Howard <phil@ux1.cso.uiuc.edu>
#  sgi:		Greg Roelofs (Iris 4D/380?)
#  sun:		Onno van der Linden (Sun 4), Greg Roelofs (Sun 3, 4)
#  sysv:	Greg Roelofs
#  sysv6300:	Peter Mauzey <ptm@mtdcr.att.com>
#  tahoe:	Mark Edwards <mce%sdcc10@ucsd.edu>
#  ultrix:	Greg Flint (VAX)
#		Michael Graff <explorer@iastate.edu> (DECstation 2100?)
#		Greg Roelofs (DEC 5810)
#		Alex A Sergejew <aas@brain.wph.uq.oz.au>
#  vax:		Forrest Gehrke <feg@dodger.att.com> (SysV)
#		David Kirschbaum <kirsch@usasoc.soc.mil> (BSD 4.3)
#		Jim Steiner <steiner@pica.army.mil> (8600+Ultrix)
#  wombat:	Joe Isuzu <joe@trustme.isuzu.com>
#  xenix:	Onno van der Linden, Bill Davidsen, Greg Roelofs
#  xos:		Fulvio Marino <fulvio@iconet.ico.olivetti.com>
