Annotation of coherent/b/bin/unzip/Makefile, revision 1.1.1.1

1.1       root        1: #==============================================================================
                      2: # Makefile for UnZip, ZipInfo & FUnZip:  Unix, OS/2, MS-DOS ("real" makes only)
                      3: # Version:  5.0 (inflate,explode)                                20 August 1992
                      4: #==============================================================================
                      5: #
                      6: #
                      7: # INSTRUCTIONS (such as they are):
                      8: #
                      9: # "make vax"   -- makes UnZip on a VAX 11-780 BSD 4.3 in current directory
                     10: #                 (or a SysV VAX, or an 8600 running Ultrix, or...)
                     11: # "make"       -- uses environment variable SYSTEM to set the type
                     12: #                 system to compile for.  This doesn't work for some
                     13: #                 particularly brain-damaged versions of make (VAX BSD,
                     14: #                 Gould, and SCO Unix are in this group).  If SYSTEM not
                     15: #                 set, gives instructions on what to try instead.
                     16: # "make list"  -- lists all supported systems (targets), including related
                     17: #                 utilities' targets
                     18: # "make wombat" -- Chokes and dies if you haven't added the specifics
                     19: #                 for your Wombat 68000 (or whatever) to the systems list.
                     20: #
                     21: # CF are flags for the C compiler.  LF are flags for the loader.  LF2 are
                     22: # more flags for the loader, if they need to be at the end of the line
                     23: # instead of at the beginning (for example, some libraries).  LOCAL_UNZIP
                     24: # is an environment variable that can be used to add default C flags to
                     25: # your compile without editing the Makefile (e.g., -DDEBUG_STRUC, or -FPi87
                     26: # on PCs).
                     27: #
                     28: # My host (a VAX 11-780 running BSD 4.3) is hereafter referred to as "my host."
                     29: #
                     30: # My host's /usr/include/sys/param.h defines BSD for me.  You may have to add
                     31: # "-DBSD" to the list of CF for your system.
                     32: #
                     33: # Some versions of make do not define the macro "$(MAKE)" (my host did not).
                     34: # The makefile should now handle such systems correctly, more or less; the
                     35: # possible exception to this is if you've used a make command-line option
                     36: # (for example, the one which displays the commands which WOULD be executed,
                     37: # but doesn't actually execute them).  It probably needs some more tinkering.
                     38: # If things still don't work, use "make" instead of "$(MAKE)" in your system's
                     39: # makerule.  Or try adding the following line to your .login file:
                     40: #   setenv MAKE "make"
                     41: # (It didn't help on my host.)
                     42: #
                     43: # Memcpy and memset are provided for those systems that don't have them;
                     44: # they're found in misc.c and will be used if -DZMEM is included in the list
                     45: # of CF.  These days *almost* all systems have them (they're mandated by
                     46: # ANSI), but older systems might be lacking.  And at least one machine's
                     47: # version results in some serious performance degradation...
                     48: #
                     49: # Be sure to test your nice new UnZip; successful compilation does not always
                     50: # imply a working program.
                     51: 
                     52: 
                     53: #####################
                     54: # MACRO DEFINITIONS #
                     55: #####################
                     56: 
                     57: # Defaults most systems use (use LOCAL_UNZIP in environment to add flags, 
                     58: # such as -DNOMEMCPY).
                     59: 
                     60: CRYPTF =
                     61: CRYPTO =
                     62: # Uncomment next two lines for decryption version:
                     63: CRYPTF = -DCRYPT
                     64: CRYPTO = crypt$O
                     65: 
                     66: # UnZip flags
                     67: CC = cc#       try using "gcc" target rather than changing this (if you do,
                     68: LD = cc#       you MUST change LD, too--else "unresolved symbol:  ___main")
                     69: LOC = $(LOCAL_UNZIP) $(CRYPTF)
                     70: CF = -O $(LOC)
                     71: LF = -o unzip
                     72: LF2 = -s
                     73: 
                     74: # ZipInfo flags
                     75: ZC = -DZIPINFO
                     76: ZL = -o zipinfo
                     77: ZL2 = -s
                     78: 
                     79: # FUnZip flags
                     80: FC = # not used
                     81: FL = -o funzip
                     82: FL2 = -s
                     83: 
                     84: # general-purpose stuff
                     85: LN = rm -f misc_.c; ln
                     86: RM = rm -f
                     87: E =
                     88: O = .o
                     89: SHELL = /bin/sh
                     90: INSTALL = cp#             probably can change this to 'install' if you have it
                     91: BINDIR = /usr/local/bin#   target directory - where to install executables
                     92: 
                     93: # object files
                     94: OBJS1 = unzip$O $(CRYPTO) envargs$O explode$O extract$O file_io$O inflate$O
                     95: OBJS2 = mapname$O match$O misc$O unreduce$O unshrink$O
                     96: OBJS = $(OBJS1) $(OBJS2)
                     97: LOBJS = $(OBJS)
                     98: OS2_OBJS = $(OBJS:.o=.obj) os2unzip.obj
                     99: OBJZ = zipinfo$O envargs$O match$O misc_$O
                    100: OS2_OBJZ = $(OBJZ:.o=.obj) os2zinfo.obj
                    101: OBJF = funzip$O $(CRYPTO) inflate$O
                    102: OS2_OBJF = # not yet supported
                    103: UNZIPS = unzip$E # zipinfo$E funzip$E  # zipinfo, funzip not fully supported
                    104: #                                      #  yet (next release)
                    105: 
                    106: # list of supported systems/targets in this version
                    107: SYSTEMS1 = 386i 3Bx 7300 amdahl apollo aviion bsd bull c120 c210 coherent
                    108: SYSTEMS2 = convex cray cray_cc cray_v3 cyber_sgi dec dnix encore eta
                    109: SYSTEMS3 = gcc gcc_dos generic generic2 gould hk68 hp indigo linux
                    110: SYSTEMS4 = minix mips msc_dos next osf1 p_iris pyramid rs6000 rtaix
                    111: SYSTEMS5 = sco sco_dos sco_x286 sequent sgi stellar sun sysv sysv6300
                    112: SYSTEMS6 = tahoe ultrix vax wombat xos
                    113: 
                    114: SYS_UTIL1 = zi_dos zi_gcc zi_indigo zipinfo fu_gcc funzip
                    115: # SYS_UTIL2 = ship ship_dos ship_sysv
                    116: 
                    117: 
                    118: ####################
                    119: # DEFAULT HANDLING #
                    120: ####################
                    121: 
                    122: # The below will try to use your shell variable "SYSTEM" as the type system
                    123: # to use (e.g., if you type "make" with no parameters at the command line).
                    124: # The test for $(MAKE) is necessary for VAX BSD make (and Gould, apparently),
                    125: # as is the "goober" (else stupid makes see an "else ;" statement, which they
                    126: # don't like).  "goober" must then be made into a valid target for machines
                    127: # which DO define MAKE properly (and have SYSTEM set).  Quel kludge, non?
                    128: # And to top it all off, it appears that the VAX, at least, can't pick SYSTEM
                    129: # out of the environment either (which, I suppose, should not be surprising).
                    130: # [Btw, if the empty "goober" target causes someone else's make to barf, just
                    131: # add an "@echo > /dev/null" command (or whatever).  Works OK on the Amdahl
                    132: # and Crays, though.]
                    133: 
                    134: default:
                    135:        @if test -z "$(MAKE)"; then\
                    136:                if test -z "$(SYSTEM)";\
                    137:                then make help;\
                    138:                else make $(SYSTEM) MAKE="make";\
                    139:                fi;\
                    140:        else\
                    141:                if test -z "$(SYSTEM)";\
                    142:                then $(MAKE) help;\
                    143:                else $(MAKE) $(SYSTEM) goober;\
                    144:                fi;\
                    145:        fi
                    146: 
                    147: goober:
                    148: 
                    149: help:
                    150:        @echo
                    151:        @echo\
                    152:  "  If you're not sure about the characteristics of your system, try typing"
                    153:        @echo\
                    154:  '  "make generic".  If the compiler barfs and says something unpleasant about'
                    155:        @echo\
                    156:  '  "timezone redefined," try typing "make clean" followed by "make generic2".'
                    157:        @echo\
                    158:  '  One of these actions should produce a working copy of unzip on most Unix'
                    159:        @echo\
                    160:  '  systems.  If you know a bit more about the machine on which you work, you'
                    161:        @echo\
                    162:  '  might try "make list" for a list of the specific systems supported herein.'
                    163:        @echo\
                    164:  '  And as a last resort, feel free to read the numerous comments within the'
                    165:        @echo\
                    166:  '  Makefile itself.  Note that to compile the decryption version of UnZip,'
                    167:        @echo\
                    168:  '  you must obtain crypt.c separately, in addition to uncommenting two lines'
                    169:        @echo\
                    170:  '  in Makefile (see the main Contents file for ftp and mail-server sites).'
                    171:        @echo\
                    172:  '  Have an excruciatingly pleasant day.'
                    173:        @echo
                    174: 
                    175: list:
                    176:        @echo
                    177:        @echo\
                    178:  'Type "make <system>", where <system> is one of the following:'
                    179:        @echo
                    180:        @echo  "        $(SYSTEMS1)"
                    181:        @echo  "        $(SYSTEMS2)"
                    182:        @echo  "        $(SYSTEMS3)"
                    183:        @echo  "        $(SYSTEMS4)"
                    184:        @echo  "        $(SYSTEMS5)"
                    185:        @echo  "        $(SYSTEMS6)"
                    186:        @echo
                    187:        @echo\
                    188:  'Otherwise set the shell variable SYSTEM to one of these and just type "make".'
                    189:        @echo\
                    190:  'Targets for related utilities (ZipInfo) include:'
                    191:        @echo
                    192:        @echo  "        $(SYS_UTIL1)"
                    193: #      @echo  "        $(SYS_UTIL2)"
                    194:        @echo
                    195:        @echo\
                    196:  'For further (very useful) information, please read the comments in Makefile.'
                    197:        @echo
                    198: 
                    199: 
                    200: ###############################################
                    201: # BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
                    202: ###############################################
                    203: 
                    204: .c.o:
                    205:        $(CC) -c $(CF) $*.c
                    206: 
                    207: unzips:                $(UNZIPS)
                    208: 
                    209: unzip$E:       $(OBJS)
                    210:        $(LD) $(LF) $(LOBJS) $(LF2)
                    211: 
                    212: crypt$O:        crypt.c unzip.h zip.h  # may or may not be in distribution
                    213: envargs$O:      envargs.c unzip.h
                    214: explode$O:      explode.c unzip.h
                    215: extract$O:      extract.c unzip.h
                    216: file_io$O:      file_io.c unzip.h
                    217: funzip$O:       funzip.c unzip.h
                    218: inflate$O:      inflate.c unzip.h
                    219: mapname$O:      mapname.c unzip.h
                    220: match$O:        match.c unzip.h
                    221: misc$O:         misc.c unzip.h
                    222: os2unzip$O:     os2unzip.c unzip.h     # for OS/2 only
                    223: os2zinfo$O:     os2unzip.c unzip.h     # for OS/2 only
                    224: unreduce$O:     unreduce.c unzip.h
                    225: unshrink$O:     unshrink.c unzip.h
                    226: unzip$O:        unzip.c unzip.h
                    227: 
                    228: all:   generic_msg generic zipinfo
                    229: 
                    230: generic_msg:
                    231:        @echo
                    232:        @echo\
                    233:  '  Attempting "make generic" and "make zipinfo" now.  If this fails for some'
                    234:        @echo\
                    235:  '  reason, type "make help" and/or "make list" for suggestions.'
                    236:        @echo
                    237: 
                    238: install:       $(UNZIPS)
                    239:        $(INSTALL) $(UNZIPS) $(BINDIR)
                    240: 
                    241: clean:
                    242:        rm -f $(OBJS) unzip$E $(OBJZ) zipinfo$E
                    243: 
                    244: 
                    245: ################################
                    246: # INDIVIDUAL MACHINE MAKERULES #
                    247: ################################
                    248: 
                    249: # these are the makerules for various systems
                    250: # TABS ARE REQUIRED FOR MANY VERSIONS OF "MAKE"!
                    251: 
                    252: 
                    253: # ---------------------------------------------------------------------------
                    254: #   Generic targets (can't assume make utility groks "$(MAKE)")
                    255: # ---------------------------------------------------------------------------
                    256: 
                    257: generic:       unzip   # first try if unknown
                    258: 
                    259: generic2:              # second try if unknown:  hope make is called "make"...
                    260:        make unzip CF="$(CF) -DBSD"
                    261: 
                    262: # ---------------------------------------------------------------------------
                    263: #   "Normal" group (both big- and little-endian, structure-padding or not):
                    264: # ---------------------------------------------------------------------------
                    265: 
                    266: 386i:          unzip   # sun386i, SunOS 4.0.2
                    267: 3Bx:           unzip   # AT&T 3B2/1000-80; should work on any WE32XXX machine
                    268: 7300:          unzip   # AT&T 7300 (M68000/SysV)
                    269: apollo:                unzip   # Apollo Domain/OS machines
                    270: bull:          unzip   # Bull DPX/2, BOS 2.00.45 (doesn't require -Xk switch)
                    271: coherent:      unzip   # Coherent 3.10, Mark Williams C
                    272: cray_cc:       unzip   # Cray-2 and Y-MP, using default (possibly old) compiler
                    273: dec:           unzip   # DEC 5820 (MIPS RISC), test version of Ultrix v4.0
                    274: encore:                unzip   # Multimax
                    275: eta:           unzip   # ETA-10P*, hybrid SysV with BSD 4.3 enhancements
                    276: gould:         unzip   # Gould PN9000 running UTX/32 2.1Bu01
                    277: hp:            unzip   # HP 9000 series (68020), 4.3BSD or HP-UX A.B3.10 Ver D
                    278: hp_ux:         unzip   # (to match zip's makefile entry)
                    279: mips:          unzip   # MIPS M120-5(?), SysV.3 [error in sys/param.h file?]
                    280: pyramid:       unzip   # Pyramid 90X, prob. all, under >= OSx4.1, BSD universe
                    281: rtaix:         unzip   # IBM RT 6150 under AIX 2.2.1
                    282: sco:           unzip   # Xenix/386 (tested on 2.3.1); SCO Unix 3.2.0.
                    283: stellar:       unzip   # gs-2000
                    284: sun:           unzip   # Sun 3, 4; SunOS 4.x (SOME SYSTEMS ARE SYSTEM V!)
                    285: tahoe:         unzip   # tahoe (CCI Power6/32), 4.3BSD
                    286: ultrix:                unzip   # VAXen, DEC 58x0 (MIPS guts), DECstation 2100; v4.x
                    287: vax:           unzip   # general-purpose VAX target (not counting VMS)
                    288: 
                    289: # ---------------------------------------------------------------------------
                    290: #   BSD group (for timezone structs [struct timeb]):
                    291: # ---------------------------------------------------------------------------
                    292: 
                    293: bsd:           _bsd    # generic BSD (BSD 4.2 & Ultrix handled in unzip.h)
                    294: 
                    295: _bsd:
                    296:        $(MAKE) unzip CF="$(CF) -DBSD"
                    297: 
                    298: # ---------------------------------------------------------------------------
                    299: #   SysV group (for extern long timezone and ioctl.h instead of sgtty.h):
                    300: # ---------------------------------------------------------------------------
                    301: 
                    302: amdahl:                _sysv   # Amdahl (IBM) mainframe, UTS (SysV) 1.2.4 and 2.0.1
                    303: aviion:         _sysv  # Data General AViiONs, DG/UX 4.3x
                    304: sgi:           _sysv   # Silicon Graphics Iris 4D, Irix SysV rel. 3.3.2
                    305: sysv:          _sysv   # generic System V Unix
                    306: xos:           _sysv   # Olivetti LSX-3005..3045, X/OS 2.3 and 2.4
                    307: 
                    308: _sysv:
                    309:        $(MAKE) unzip CF="$(CF) -DSYSV -DTERMIO"
                    310: 
                    311: # ---------------------------------------------------------------------------
                    312: #   "Unique" group (require non-standard options):
                    313: # ---------------------------------------------------------------------------
                    314: 
                    315: # Apparently the C-120 has an optimization bug, and possibly another
                    316: # bug in the (SysV?) time routines which adds 11 years to the date.
                    317: # -DCONVEX not needed?  [RZM:  The remark above the C-120 entry 
                    318: # about a bug may not be true.  I think it is rather time procedures
                    319: # uncompatibility between unixes.] [GRR:  So is -O2 ok for c120?]
                    320: #
                    321: c120:                  # Convex C-120, OS 9.0, with non-vectorizing cc 4.0
                    322:        $(MAKE) unzip CF="-O1 $(LOC) -Dunix -DBSD"
                    323: 
                    324: c210:                  # Convex C-210, OS 9.0, cc 4.0
                    325:        $(MAKE) unzip CF="-O2 $(LOC) -Dunix -DBSD"
                    326: 
                    327: # Enclosed you'll find a context diff for the unzip41 makefile
                    328: # which enhances compilation on a convex.  The previous version
                    329: # probably worked great a couple of years ago, and would still do
                    330: # so if one compiles in our "backward compatible" pcc mode.   The
                    331: # following allows it to work better in a modern convexian environment.
                    332: # [This target results in the following error on various Convex's, 
                    333: # however:  "cc: Error on line 79 of file_io.c: 'ioctl' redeclared:
                    334: # incompatible types."]
                    335: #
                    336: convex:                        # previous target was tested on C200/C400
                    337:        $(MAKE) unzip CF="$(CF) -Dunix -DCONVEX -ext" LF="$(LF) -ext"
                    338: 
                    339: # Cray-2 and Y-MP, running Unicos 5.1 to 6.1 (SysV + BSD enhancements)
                    340: # and Standard (ANSI) C compiler 1.5, 2.0 or 3.0.
                    341: cray:
                    342:        $(MAKE) unzip CC="scc" LD="scc"
                    343: 
                    344: # Ditto, for Cray Standard C 3.0 or later.
                    345: cray_v3:
                    346:        $(MAKE) unzip CC="scc" LD="scc" CF="$(CF) -h scalar3 -h vector3"
                    347: 
                    348: # The unzip41 build on a Cyber 910/SGI running Irix v3.3.3 was successful
                    349: # with the following change to Makefile:
                    350: cyber_sgi:
                    351:        $(MAKE) unzip CF="$(CF) -I/usr/include/bsd"\
                    352:         LF="-lbsd $(LF)"
                    353: 
                    354: # The DIAB dnix 5.3 compiler does not define __STDC__ but understands
                    355: # prototypes, void, etc., anyway.  It also does not provide any predefined
                    356: # macros to detect this (aside from "unix" and the four file, line, time
                    357: # and date macros).  Thus we must define MODERN and PROTO by hand.
                    358: #
                    359: dnix:          # 680X0, DIAB dnix 5.2/5.3 (a Swedish System V clone)
                    360:        $(MAKE) unzip CF="$(CF) -DPROTO -DMODERN"
                    361: 
                    362: # Generic BSDish Unix gcc.  ``The -O2 only works with the latest version of
                    363: # gcc; you may have to use -O only for earlier versions.  I have no idea why
                    364: # -s causes this bug in gcc.''  [Bug:  "nm: unzip: no name list", "collect:
                    365: # /usr/bin/nm returned 1 exit status".]  If you don't have strip, don't
                    366: # worry about it (it just makes the executable smaller).
                    367: #
                    368: gcc:
                    369:        $(MAKE) unzip CC=gcc LD=gcc CF="-O2 $(LOC)" LF2=""
                    370:        strip unzip
                    371: 
                    372: # MS-DOS with D.J. Delorie's djgcc 1.06.  Note that go32 doesn't support
                    373: # dos function 0x38 (yet); to fix, append to line 400 of exphdlr.c (go32)
                    374: # the following:  "case 0x38:".
                    375: #
                    376: gcc_dos:       # may need to add -Uunix to CF
                    377:        $(MAKE) unzip CC=gcc LD=gcc CF="-O2 -Wall $(LOC)"\
                    378:         LF="-s" LF2="-o unzip"
                    379:        aout2exe unzip
                    380: 
                    381: # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
                    382: hk68:
                    383:        $(MAKE) unzip CC="gcc" LD="gcc" LF="-n $(LF)" \
                    384:        CF="-ga -X138 $(LOC) -Dlocaltime=localti -Dtimezone=timezon"
                    385: 
                    386: # Rules needed to build the unzip program for an Iris Indigo running
                    387: # Irix Version 4.0.1
                    388: indigo:
                    389:        $(MAKE) unzip CF="-cckr $(CF) -DTERMIO"
                    390: 
                    391: # Linux is almost sysv but not quite
                    392: linux:                # Linux pre-0.96 with gcc 2.1
                    393:        $(MAKE) unzip CF="$(CF) -DTERMIO -DLINUX" CC=gcc LD=gcc
                    394: 
                    395: # Minix 1.5 PC for the 386 with gcc or bcc
                    396: minix:
                    397:        $(MAKE) unzip CC=gcc CF="$(CF) -DMINIX"
                    398: 
                    399: # PCs (IBM-type), running MS-DOS, Microsoft C 6.0 and NMAKE.  Can't use
                    400: # SYSTEM environment variable:  "default" target is > 200 characters.
                    401: # "nmake msc_dos" works fine, aside from (possibly) an irrelevant message
                    402: # about the creation of a temporary file.  Environment variable LOCAL_UNZIP
                    403: # should be set via "SET LOCAL_UNZIP=-FPi87" if you use the 80x87 library;
                    404: # also add -G2 or -G3 if using a 286/386/486 system.
                    405: #
                    406: #msc_dos:
                    407: #      $(MAKE) unzip.exe\
                    408: #       CF="-Ox $(LOC) -nologo -G2" CC=cl LD=link E=.exe O=.obj\
                    409: #       LF="/noi/nol" LF2=",unzip;"
                    410: 
                    411: msc_dos:       rsp
                    412:        $(MAKE) unzip.exe CF="-Oait -Gs $(LOC) -nologo" CC=cl LD=link E=.exe\
                    413:         O=.obj LOBJS="" LF="@rsp" LF2=""
                    414:        del rsp
                    415: 
                    416: rsp:
                    417:        echo $(OBJS1:.o=.obj)+ > rsp
                    418:        echo $(OBJS2:.o=.obj)/noi/e/st:0x1000; >> rsp
                    419: 
                    420: # $(LOCAL_UNZIP):  math libraries and/or any other personal or debugging
                    421: #                  definitions:  e.g., SET LOCAL_UNZIP=-FPi87 -DDEBUG_STRUC
                    422: # $(NOD):  intended to be used as   SET NOD=-link /nod:slibcep   to allow the
                    423: #          use of default library names (slibce.lib) instead of protected-mode
                    424: #          names (slibcep.lib), but it fails:  MSC adds its own /nod qualifier,
                    425: #          and there seems to be no way to override this.  Typical...
                    426: #
                    427: msc_os2:               # 16-bit OS/2 (1.x) with MSC 6.00 (use makefile.os2)
                    428:        $(MAKE) -nologo unzip.exe zipinfo.exe CC=cl LD=cl E=.exe O=.obj\
                    429:         OBJS="$(OS2_OBJS)" OBJZ="$(OS2_OBJZ)"\
                    430:         CF="-nologo -AC -Ocegit -G2s -DOS2 -DMSC $(LOC)"\
                    431:         LF="-nologo -AC $(LOC) -Lp -F 2000"\
                    432:         LF2="unzip.def -o unzip.exe $(NOD)" LN="copy" RM="del"\
                    433:         ZL="-nologo -AC $(LOC) -Lp -Fb" ZL2="zipinfo.def -o zipinfo.exe"
                    434: 
                    435: # NeXT 2.x: make the executable smaller.
                    436: next:                  # 68030 BSD 4.3+Mach
                    437:        $(MAKE) unzip LF2="-object -s"
                    438: 
                    439: # Rules to build the unzip program on a DecStation running DEC OSF/1 V1.0.
                    440: # This machine hasn't got ftime(3) in the standard C library.
                    441: osf1:
                    442:        $(MAKE) unzip LF2="-lbsd"
                    443: 
                    444: # I successfully compiled and tested the unzip program (v30) for the
                    445: # Silicon Graphics environment (Personal Iris 4D20/G with IRIX v3.2.2)
                    446: p_iris:
                    447:        $(MAKE) unzip CF="$(CF) -I/usr/include/bsd -DBSD"\
                    448:         LF="-lbsd $(LF)"
                    449: 
                    450: # I have finished porting unzip 3.0 to the Pyramid 90X under OSX4.1.
                    451: # The biggest problem was the default structure alignment yielding two
                    452: # extra bytes.  The compiler has the -q option to pack structures, and
                    453: # this was all that was needed.  To avoid needing ZMEMS we could compile
                    454: # in the AT&T universe, but it runs more slowly!
                    455: #
                    456: #UnZip 5.0f:  moved to regular targets as test
                    457: #pyramid:      # Pyramid 90X, probably all, under >= OSx4.1, BSD universe
                    458: #      make unzip CF="$(CF) -q"
                    459: 
                    460: # IBM RS/6000 under AIX 3.2
                    461: rs6000:
                    462:        $(MAKE) unzip CF="$(CF) -DBSD -D_BSD -DUNIX" LF="-lbsd $(LF)"
                    463: 
                    464: # SCO cross compile from unix to DOS. Tested with Xenix/386 and OpenDeskTop.
                    465: # Should work with xenix/286 as well. (davidsen)  Note that you *must* remove
                    466: # the unix objects and executable before doing this!  (Piet Plomp:  gcc won't
                    467: # recognize the -M0 flag which forces 8086 code.)
                    468: #
                    469: sco_dos:       # uncomment zipinfo in UNZIPS if desired
                    470:        $(MAKE) unzips CF="-O $(LOC) -DNO_ERRNO -dos -M0" LF="-dos -F 2000"\
                    471:         LF2="-o unzip.exe" ZL="-dos" ZL2="-o zipinfo.exe"
                    472: 
                    473: # SCO Xenix/286 2.2.1
                    474: sco_x286:
                    475:        $(MAKE) unzip CF="$(CF) -Ml2" LF="$(LF) -Ml2"
                    476: 
                    477: # Sequent Symmetry is a 386 but needs -DZMEM
                    478: # This should also work on Balance but I can't test it just yet.
                    479: sequent:       # Sequent w/Dynix
                    480:        $(MAKE) unzip CF="$(CF) -DBSD -DZMEM"
                    481: 
                    482: # AT&T 6300+, running System V.? Unix:  out-of-memory error if don't use -Ml
                    483: sysv6300:
                    484:        $(MAKE) unzip CF="$(CF) -Ml -DTERMIO" LF="$(LF) -Ml"
                    485: 
                    486: # I didn't do this.  I swear.  No, really.
                    487: wombat:                # Wombat 68000 (or whatever)
                    488:        @echo
                    489:        @echo  '        Ha ha!  Just kidding.'
                    490:        @echo
                    491: 
                    492: 
                    493: #####################
                    494: # ZIPINFO MAKERULES #
                    495: #####################
                    496: 
                    497: # ZipInfo section:  less hand-holding here, but it should be pretty
                    498: # straightforward by now.
                    499: 
                    500: zipinfo$O:     zipinfo.c unzip.h
                    501:        $(CC) -c $(CF) zipinfo.c
                    502: 
                    503: misc_$O:       misc.c unzip.h
                    504:        $(LN) misc.c misc_.c
                    505:        $(CC) -c $(CF) $(ZC) misc_.c
                    506:        $(RM) misc_.c
                    507: 
                    508: os2zinfo$O:    os2unzip.c unzip.h
                    509:        $(LN) os2unzip.c os2zinfo.c
                    510:        $(CC) -c $(CF) $(ZC) os2zinfo.c
                    511:        $(RM) os2zinfo.c
                    512: 
                    513: zipinfo$E:     $(OBJZ)
                    514:        $(LD) $(ZL) $(OBJZ) $(ZL2)
                    515: 
                    516: zi_gcc:                        # GNU gcc under Unix (if no strip, don't worry)
                    517:        $(MAKE) zipinfo CC=gcc LD=gcc ZL2=""
                    518:        strip zipinfo
                    519: 
                    520: zi_indigo:             # SGI Iris Indigo
                    521:        $(MAKE) zipinfo CF="-cckr -O -DUNIX $(LOC)"
                    522: 
                    523: zi_dos:                        # MSC 6.0 + nmake, MS-DOS
                    524:        $(MAKE) zipinfo.exe CF="-Oait -Gs -nologo $(LOC)" CC=cl\
                    525:         LD=link E=.exe O=.obj ZL="/noi /nol" ZL2=",zipinfo;"\
                    526:         LN="copy" RM="DEL"
                    527: 
                    528: 
                    529: ####################
                    530: # FUNZIP MAKERULES #
                    531: ####################
                    532: 
                    533: # FUnZip section:  FUnZip (Filter UnZip) is a last-minute addition to the
                    534: # UnZip suite and is still VERY raw.  Its purpose is to take a zipfile from 
                    535: # stdin and decompress the first entry to stdout.  Only non-encrypted, stored
                    536: # or deflated files are allowed at present.  FUnZip may be absorbed into
                    537: # regular UnZip in a subsequent release.  This target should work for some
                    538: # Unix systems but is not guaranteed to work for all (or even most).
                    539: 
                    540: funzip$E:      $(OBJF)
                    541:        $(LD) $(FL) $(OBJF) $(FL2)
                    542: 
                    543: fu_gcc:                        # GNU gcc under Unix (if no strip, don't worry)
                    544:        $(MAKE) funzip CC=gcc LD=gcc FL2=""
                    545:        strip funzip
                    546: 
                    547: 
                    548: ################
                    549: # ATTRIBUTIONS #
                    550: ################
                    551: 
                    552: # Thanks to the following people for their help in testing and/or porting
                    553: # to various machines (and thanks to the many others who aren't listed
                    554: # here but should be):
                    555: #
                    556: #  (original Unix port:  Carl Mascott <[email protected]>)
                    557: #  386i:       Richard Stephen <[email protected]>
                    558: #  3Bx:                Bob Kemp <[email protected]>
                    559: #  7300:       Richard H. Gumpertz <[email protected]>
                    560: #              Greg Roelofs <[email protected]>
                    561: #  amdahl:     Kim DeVaughn <[email protected]>, Greg Roelofs
                    562: #  apollo:     Tim Geibelhaus
                    563: #  aviion:     Bruce Kahn <[email protected]>
                    564: #  bull:       Matt D'Errico <[email protected]>
                    565: #  c120:       Rafal Maszkowski <sgumk%pltumk11.bitnet>
                    566: #  coherent:   David Fenyes <[email protected]>
                    567: #  convex:     Randy Wright <[email protected]>
                    568: #  cray:       Greg Roelofs, Paul Borman <[email protected]>
                    569: #  cray_cc:    Greg Roelofs
                    570: #  cray_v3:    Greg Roelofs
                    571: #  cyber_sgi:  Clint Pulley <[email protected]>
                    572: #  dec:                "Moby" Dick O'Connor <[email protected]>
                    573: #  dnix:       Bo Kullmar <[email protected]>
                    574: #  eta:                Greg Flint <[email protected]>
                    575: #  gcc:                Jean-loup Gailly <[email protected]>
                    576: #  gcc_dos:    Onno van der Linden <[email protected]>
                    577: #  gcc_os2:    Kai Uwe Rommel <[email protected]>
                    578: #  gould:      Onno van der Linden
                    579: #  hk68:       John Limpert <[email protected]>
                    580: #  hp:         Randy McCaskile <[email protected]> (HP-UX)
                    581: #              Gershon Elber <[email protected]> (HP BSD 4.3)
                    582: #  icc_os2:    Kai Uwe Rommel
                    583: #  indigo:     Kjetil Wiekhorst J|rgensen <[email protected]>
                    584: #  linux:      Humberto Ortiz-Zuazaga <[email protected]>
                    585: #  minix:      Kai Uwe Rommel (Minix 1.5)
                    586: #  mips:       Peter Jones <[email protected]>
                    587: #  msc_dos:    Greg Roelofs <[email protected]>
                    588: #              Piet W. Plomp <[email protected]>
                    589: #  msc_os2:    Wim Bonner <[email protected]>
                    590: #              Kai Uwe Rommel, Greg Roelofs
                    591: #  next:       Mark Adler <[email protected]>
                    592: #  osf1:       Kjetil Wiekhorst J{\o}rgensen
                    593: #  p_iris:     Valter V. Cavecchia <[email protected]>
                    594: #  pyramid:    James Dugal <[email protected]>
                    595: #  rs6000:     Filip Gieszczykiewicz <[email protected]>
                    596: #              Trevor Paquette <[email protected]>
                    597: #  rtaix:      Erik-Jan Vens
                    598: #  sco:                Onno van der Linden (SCO Unix 3.2.0)
                    599: #              Bill Davidsen <[email protected]> (Xenix/386)
                    600: #  sco_dos:    Bill Davidsen, Piet W. Plomp
                    601: #  sco_x286:   Ricky Mobley <[email protected]>
                    602: #  sequent:    Phil Howard <[email protected]>
                    603: #  sgi:                Greg Roelofs (Iris 4D/380?)
                    604: #  sun:                Onno van der Linden (Sun 4), Greg Roelofs (Sun 3, 4)
                    605: #  sysv:       Greg Roelofs
                    606: #  sysv6300:   Peter Mauzey <[email protected]>
                    607: #  tahoe:      Mark Edwards <mce%[email protected]>
                    608: #  ultrix:     Greg Flint (VAX)
                    609: #              Michael Graff <[email protected]> (DECstation 2100?)
                    610: #              Greg Roelofs (DEC 5810)
                    611: #              Alex A Sergejew <[email protected]>
                    612: #  vax:                Forrest Gehrke <[email protected]> (SysV)
                    613: #              David Kirschbaum <[email protected]> (BSD 4.3)
                    614: #              Jim Steiner <[email protected]> (8600+Ultrix)
                    615: #  wombat:     Joe Isuzu <[email protected]>
                    616: #  xos:                Fulvio Marino <[email protected]>
                    617: #  zi_dos:     Greg Roelofs
                    618: #  zi_icc:     Kai Uwe Rommel
                    619: #  zi_os2:     Greg Roelofs, Kai Uwe Rommel
                    620: #  zipinfo:    Greg Roelofs

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.