Annotation of coherent/b/bin/unzip/Makefile, revision 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.