Makefile
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:33k
源码类别:

压缩解压

开发平台:

MultiPlatform

  1. #==============================================================================
  2. # Makefile for UnZip, UnZipSFX and fUnZip:  Unix and MS-DOS ("real" makes only)
  3. # Version:  5.4                                                19 November 1998
  4. #==============================================================================
  5. # INSTRUCTIONS (such as they are):
  6. #
  7. # "make sunos" -- makes UnZip in current directory on a generic SunOS 4.x Sun
  8. # "make list" -- lists all supported systems (targets)
  9. # "make help" -- provides pointers on what targets to try if problems occur
  10. # "make wombat" -- chokes and dies if you haven't added the specifics for your
  11. #     Wombat 68000 (or whatever) to the systems list
  12. #
  13. # CF are flags for the C compiler.  LF are flags for the loader.  LF2 are more
  14. # flags for the loader, if they need to be at the end of the line instead of at
  15. # the beginning (for example, some libraries).  FL and FL2 are the corre-
  16. # sponding flags for fUnZip.  LOCAL_UNZIP is an environment variable that can
  17. # be used to add default C flags to your compile without editing the Makefile
  18. # (e.g., -DDEBUG_STRUC, or -FPi87 on PCs using Microsoft C).
  19. #
  20. # Some versions of make do not define the macro "$(MAKE)"; this is rare, but
  21. # if things don't work, try using "make" instead of "$(MAKE)" in your system's
  22. # makerule.  Or try adding the following line to your .login file:
  23. # setenv MAKE "make"
  24. # (That never works--makes that are too stupid to define MAKE are also too
  25. # stupid to look in the environment--but try it anyway for kicks. :-) )
  26. #
  27. # Memcpy and memset are provided for those systems that don't have them; they
  28. # are in fileio.c and will be used if -DZMEM is included in CF.  These days
  29. # almost all systems have them.
  30. #
  31. # Be sure to test your new UnZip (and UnZipSFX and fUnZip); successful compila-
  32. # tion does not always imply a working program.
  33. #####################
  34. # MACRO DEFINITIONS #
  35. #####################
  36. # Defaults most systems use (use LOCAL_UNZIP in environment to add flags,
  37. # such as -DDOSWILD).
  38. # UnZip flags
  39. CC = cc# try using "gcc" target rather than changing this (CC and LD
  40. LD = $(CC)# must match, else "unresolved symbol:  ___main" is possible)
  41. AS = as
  42. LOC = $(LOCAL_UNZIP)
  43. AF = $(LOC)
  44. CF = -O -I. $(LOC)
  45. LF = -o unzip
  46. LF2 = -s
  47. # UnZipSFX flags
  48. SL = -o unzipsfx
  49. SL2 = $(LF2)
  50. # fUnZip flags
  51. FL = -o funzip
  52. FL2 = $(LF2)
  53. # general-purpose stuff
  54. #CP = cp
  55. CP = ln
  56. LN = ln
  57. RM = rm -f
  58. CHMOD = chmod
  59. BINPERMS = 755
  60. MANPERMS = 644
  61. STRIP = strip
  62. E =
  63. O = .o
  64. M = unix
  65. SHELL = /bin/sh
  66. # defaults for crc32 stuff and system dependent headers
  67. CRC32 = crc32
  68. OSDEP_H =
  69. # object files
  70. OBJS1 = unzip$O $(CRC32)$O crctab$O crypt$O envargs$O explode$O
  71. OBJS2 = extract$O fileio$O globals$O inflate$O list$O match$O
  72. OBJS3 = process$O ttyio$O unreduce$O unshrink$O zipinfo$O
  73. OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O
  74. LOBJS = $(OBJS)
  75. OBJSDLL = $(OBJS:.o=.pic.o) api.pic.o
  76. OBJX = unzipsfx$O $(CRC32)$O crctab$O crypt$O extract_$O fileio$O globals$O 
  77. inflate$O match$O process_$O ttyio$O $M_$O
  78. LOBJX = $(OBJX)
  79. OBJF = funzip$O $(CRC32)$O crypt_$O globals_$O inflate_$O ttyio_$O
  80. #OBJS_OS2 = $(OBJS1:.o=.obj) $(OBJS2:.o=.obj) os2.obj
  81. #OBJF_OS2 = $(OBJF:.o=.obj)
  82. UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)
  83. # installation
  84. # (probably can change next two to `install' and `install -d' if you have it)
  85. INSTALL = cp
  86. INSTALL_D = mkdir -p
  87. # on some systems, manext=l and MANDIR=/usr/man/man$(manext) may be appropriate
  88. manext = 1
  89. prefix = /usr/local
  90. BINDIR = $(prefix)/bin# where to install executables
  91. MANDIR = $(prefix)/man/man$(manext)# where to install man pages
  92. INSTALLEDBIN = $(BINDIR)/funzip$E $(BINDIR)/unzip$E $(BINDIR)/unzipsfx$E 
  93. $(BINDIR)/zipgrep$E $(BINDIR)/zipinfo$E
  94. INSTALLEDMAN = $(MANDIR)/funzip.$(manext) $(MANDIR)/unzip.$(manext) 
  95. $(MANDIR)/unzipsfx.$(manext) $(MANDIR)/zipgrep.$(manext) 
  96. $(MANDIR)/zipinfo.$(manext)
  97. # Solaris 2.x stuff:
  98. PKGDIR = IZunzip
  99. VERSION = Version 5.4
  100. UNZIPS = unzip$E funzip$E unzipsfx$E
  101. # this is a little ugly...well, OK, it's a lot ugly:
  102. MANS = unix/funzip.1 unix/unzip.1 unix/unzipsfx.1 unix/zipgrep.1 unix/zipinfo.1
  103. DOCS = funzip.doc unzip.doc unzipsfx.doc zipgrep.doc zipinfo.doc
  104. # list of supported systems/targets in this version
  105. SYSTEMS1 = generic generic2 generic3 generic_zlib generic_shlib
  106. SYSTEMS2 = 386i 3Bx 7300 7300_gcc aix aix_rt amdahl amdahl_eft apollo aviion
  107. SYSTEMS3 = bsd bsdi bsdi_noasm bull coherent convex cray cray_opt cyber_sgi
  108. SYSTEMS4 = dec dnix encore eta freebsd gcc gould hk68 hp hpux isc isc_gcc isi
  109. SYSTEMS5 = linux linux_dos linux_noasm linux_shlib linux_shlibz lynx minix
  110. SYSTEMS6 = mips next next10 next2x next3x nextfat osf1 pixel ptx pyramid
  111. SYSTEMS7 = qnxnto realix regulus rs6000 sco sco_dos sco_sl sco_x286 sequent sgi
  112. SYSTEMS8 = solaris solaris_pkg stardent stellar sunos3 sunos4 sysv sysv_gcc
  113. SYSTEMS9 = sysv6300 tahoe ti_sysv ultrix vax v7 wombat xenix xos
  114. ####################
  115. # DEFAULT HANDLING #
  116. ####################
  117. # By default, print help on which makefile targets to try.  (The SYSTEM
  118. # variable is no longer supported; use "make <target>" instead.)
  119. help:
  120. @echo ""
  121. @echo
  122.  "  If you're not sure about the characteristics of your system, try typing"
  123. @echo
  124.  '  "make generic".  If the compiler barfs and says something unpleasant about'
  125. @echo
  126.  '  "timezone redefined," try typing "make clean" followed by "make generic2".'
  127. @echo
  128.  '  If, on the other hand, it complains about an undefined symbol _ftime, try'
  129. @echo
  130.  '  typing "make clean" followed by "make generic3".  One of these actions'
  131. @echo
  132.  '  should produce a working copy of unzip on most Unix systems.  If you know'
  133. @echo
  134.  '  a bit more about the machine on which you work, you might try "make list"'
  135. @echo
  136.  '  for a list of the specific systems supported herein.  (Many of them do'
  137. @echo
  138.  "  exactly the same thing, so don't agonize too much over which to pick if"
  139. @echo
  140.  '  two or more sound equally likely.)  Also check out the INSTALL file for'
  141. @echo
  142.  '  notes on compiling various targets.  As a last resort, feel free to read'
  143. @echo
  144.  '  the numerous comments within the Makefile itself.  Note that to compile'
  145. @echo
  146.  '  the decryption version of UnZip, you must obtain the full versions of'
  147. @echo
  148.  '  crypt.c and crypt.h (see the "WHERE" file for ftp and mail-server sites).'
  149. @echo
  150.  '  Have a mostly pretty good day.'
  151. @echo ""
  152. list:
  153. @echo ""
  154. @echo
  155.  'Type "make <system>", where <system> is one of the following:'
  156. @echo ""
  157. @echo  " $(SYSTEMS1)"
  158. @echo ""
  159. @echo  " $(SYSTEMS2)"
  160. @echo  " $(SYSTEMS3)"
  161. @echo  " $(SYSTEMS4)"
  162. @echo  " $(SYSTEMS5)"
  163. @echo  " $(SYSTEMS6)"
  164. @echo  " $(SYSTEMS7)"
  165. @echo  " $(SYSTEMS8)"
  166. @echo  " $(SYSTEMS9)"
  167. # @echo ""
  168. # @echo
  169. # 'Targets for related utilities (ZipInfo and fUnZip) include:'
  170. # @echo ""
  171. # @echo  " $(SYS_UTIL1)"
  172. # @echo  " $(SYS_UTIL2)"
  173. @echo ""
  174. @echo
  175.  'For further (very useful) information, please read the comments in Makefile.'
  176. @echo ""
  177. generic_msg:
  178. @echo ""
  179. @echo
  180.  '  Attempting "make generic" now.  If this fails for some reason, type'
  181. @echo
  182.  '  "make help" and/or "make list" for suggestions.'
  183. @echo ""
  184. ###############################################
  185. # BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
  186. ###############################################
  187. # this is for GNU make; comment out and notify zip-bugs if it causes errors
  188. .SUFFIXES: .c .o .obj .pic.o
  189. # yes, we should be able to use the $O macro to combine these two, but it
  190. # fails on some brain-damaged makes (e.g., AIX's)...no big deal
  191. .c.o:
  192. $(CC) -c $(CF) $*.c
  193. .c.obj:
  194. $(CC) -c $(CF) $*.c
  195. .c.pic.o:
  196. $(CC) -c $(CF) -o $@ $*.c
  197. # this doesn't work...directories are always a pain with implicit rules
  198. #.1.doc: unix/$<
  199. # nroff -Tman -man $< | col -b | uniq | 
  200. #  sed 's/Sun Release ..../Info-ZIP        /' > $@
  201. # these rules may be specific to Linux (or at least the GNU groff package)
  202. # and are really intended only for the authors' use in creating non-Unix
  203. # documentation files (which are provided with both source and binary
  204. # distributions).  We should probably add a ".1.doc" rule for more generic
  205. # systems...
  206. funzip.doc: unix/funzip.1
  207. nroff -Tascii -man unix/funzip.1 | col -b | uniq | expand > $@
  208. unzip.doc: unix/unzip.1
  209. nroff -Tascii -man unix/unzip.1 | col -b | uniq | expand > $@
  210. unzipsfx.doc: unix/unzipsfx.1
  211. nroff -Tascii -man unix/unzipsfx.1 | col -b | uniq | expand > $@
  212. zipgrep.doc: unix/zipgrep.1
  213. nroff -Tascii -man unix/zipgrep.1 | col -b | uniq | expand > $@
  214. zipinfo.doc: unix/zipinfo.1
  215. nroff -Tascii -man unix/zipinfo.1 | col -b | uniq | expand > $@
  216. all: generic_msg generic
  217. unzips: $(UNZIPS)
  218. objs: $(OBJS)
  219. objsdll: $(OBJSDLL)
  220. docs: $(DOCS)
  221. unzipsman: unzips docs
  222. unzipsdocs: unzips docs
  223. # EDIT HERE FOR PARALLEL MAKES on Sequent (and others?)--screws up MS-DOS
  224. # make utilities if default:  change "unzip$E:" to "unzip$E:&"
  225. unzip$E: $(OBJS) # add `&' for parallel makes
  226. $(LD) $(LF) $(LOBJS) $(LF2)
  227. unzipsfx$E: $(OBJX) # add `&' for parallel makes
  228. $(LD) $(SL) $(LOBJX) $(SL2)
  229. funzip$E: $(OBJF) # add `&' for parallel makes
  230. $(LD) $(FL) $(OBJF) $(FL2)
  231. zipinfo$E: unzip$E # `&' is pointless here...
  232. @echo
  233.  '  This is a Unix-specific target.  ZipInfo is not enabled in some MS-DOS'
  234. @echo
  235.  '  versions of UnZip; if it is in yours, copy unzip.exe to zipinfo.exe'
  236. @echo
  237.  '  or else invoke as "unzip -Z" (in a batch file, for example).'
  238. $(LN) unzip$E zipinfo$E
  239. crc32$O: crc32.c $(UNZIP_H) zip.h
  240. crctab$O: crctab.c $(UNZIP_H) zip.h
  241. crypt$O: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
  242. envargs$O: envargs.c $(UNZIP_H)
  243. explode$O: explode.c $(UNZIP_H)
  244. extract$O: extract.c $(UNZIP_H) crypt.h
  245. fileio$O: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
  246. funzip$O: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h
  247. globals$O: globals.c $(UNZIP_H)
  248. inflate$O: inflate.c inflate.h $(UNZIP_H)
  249. list$O: list.c $(UNZIP_H)
  250. match$O: match.c $(UNZIP_H)
  251. process$O: process.c $(UNZIP_H)
  252. ttyio$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  253. unreduce$O: unreduce.c $(UNZIP_H)
  254. unshrink$O: unshrink.c $(UNZIP_H)
  255. unzip$O: unzip.c $(UNZIP_H) crypt.h version.h consts.h
  256. zipinfo$O: zipinfo.c $(UNZIP_H)
  257. crypt_$O: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  258. -$(CP) crypt.c crypt_.c
  259. $(CC) -c $(CF) -DFUNZIP crypt_.c
  260. $(RM) crypt_.c
  261. extract_$O: extract.c $(UNZIP_H) crypt.h # unzipsfx only
  262. -$(CP) extract.c extract_.c
  263. $(CC) -c $(CF) -DSFX extract_.c
  264. $(RM) extract_.c
  265. globals_$O: globals.c $(UNZIP_H) # funzip only
  266. -$(CP) globals.c globals_.c
  267. $(CC) -c $(CF) -DFUNZIP globals_.c
  268. $(RM) globals_.c
  269. inflate_$O: inflate.c inflate.h $(UNZIP_H) crypt.h # funzip only
  270. -$(CP) inflate.c inflate_.c
  271. $(CC) -c $(CF) -DFUNZIP inflate_.c
  272. $(RM) inflate_.c
  273. ttyio_$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  274. -$(CP) ttyio.c ttyio_.c
  275. $(CC) -c $(CF) -DFUNZIP ttyio_.c
  276. $(RM) ttyio_.c
  277. # optional assembler replacements
  278. crc_i86$O: msdos/crc_i86.asm # 16bit only
  279. $(AS) $(AF) msdos/crc_i86.asm $(ASEOL)
  280. crc_gcc$O: crc_i386.S # 32bit, GNU AS
  281. $(AS) $(AF) -x assembler-with-cpp -c -o $@ crc_i386.S
  282. crc_gcc.pic.o: crc_i386.S # 32bit, GNU AS
  283. $(AS) $(AF) -x assembler-with-cpp -c -o $@ crc_i386.S
  284. crc_sysv$O: crc_i386.S # 32bit, SysV AS
  285. $(CC) -E $(AF) crc_i386.S >crc_i386.s
  286. $(AS) -o $@ crc_i386.s
  287. $(RM) crc_i386.s
  288. msdos$O: msdos/msdos.c $(UNZIP_H) version.h # DOS only
  289. $(CC) -c $(CF) msdos/msdos.c
  290. msdos_$O: msdos/msdos.c $(UNZIP_H) # DOS unzipsfx
  291. -$(CP) msdos/msdos.c msdos_.c > nul
  292. $(CC) -c $(CF) -DSFX msdos_.c
  293. $(RM) msdos_.c
  294. #os2$O: os2/os2.c $(UNZIP_H) # OS/2 only
  295. # $(CC) -c $(CF) os2/os2.c
  296. process_$O: process.c $(UNZIP_H) # unzipsfx only
  297. -$(CP) process.c process_.c
  298. $(CC) -c $(CF) -DSFX process_.c
  299. $(RM) process_.c
  300. unix$O: unix/unix.c $(UNZIP_H) version.h # Unix only
  301. $(CC) -c $(CF) unix/unix.c
  302. unix_$O: unix/unix.c $(UNZIP_H) # Unix unzipsfx
  303. -$(CP) unix/unix.c unix_.c
  304. $(CC) -c $(CF) -DSFX unix_.c
  305. $(RM) unix_.c
  306. unix.pic.o: unix/unix.c $(UNZIP_H) version.h # Unix shlib
  307. $(CC) -c $(CF) -o $@ unix/unix.c
  308. unzipsfx$O: unzip.c $(UNZIP_H) crypt.h version.h consts.h # unzipsfx only
  309. -$(CP) unzip.c unzipsfx.c
  310. $(CC) -c $(CF) -DSFX unzipsfx.c
  311. $(RM) unzipsfx.c
  312. unix_make:
  313. # @echo
  314. # '(Ignore any errors from `make'"' due to the following command; it's harmless.)"
  315. -@2>&1 $(LN) unix/Makefile . > /dev/null || echo > /dev/null
  316. # this really only works for Unix targets, unless E and O specified on cmd line
  317. clean:
  318. @echo ""
  319. @echo '         This is a Unix-specific target.  (Just so you know.)'
  320. @echo ""
  321. rm -f $(UNZIPS) $(OBJS) $(OBJF) $(OBJX) api$O apihelp$O crc_gcc$O 
  322.   crc_sysv$O unzipstb$O crypt_.c extract_.c globals_.c inflate_.c 
  323.   ttyio_.c crc_i386.s msdos_.c process_.c unix_.c unzipsfx.c
  324. rm -rf ./$(PKGDIR)
  325. # Package generation interface (by J.Bush).  Originally tested under Sun
  326. # Solaris 2.x.  Other SVr4s may be very similar and could possibly use this.
  327. # Note:  expects version info to be stored in VERSION macro variable.
  328. # See "README" under ./unix/Packaging
  329. #
  330. svr4package: unzips
  331. @echo "Creating SVR4 package for Unix ..."
  332. -@rm -rf ./$(PKGDIR) ./$(PKGDIR)_`uname -p`.pkg
  333. -@sed -e "s/.VERSION./$(VERSION)/g" 
  334.       -e "s/.PSTAMP./$(LOGNAME)_`date | tr  ' ' '_'`/g" 
  335.       -e "s/.ARCH./Solaris_`uname -rp | tr ' ' ','`/g" 
  336.       ./unix/Packaging/pkginfo.in > ./unix/Packaging/pkginfo
  337. -@sed -e "s/.ARCH./`uname -p`/g" 
  338.       ./unix/Packaging/preinstall.in > ./unix/Packaging/preinstall
  339. /usr/bin/pkgmk -d . -b . -r . -f ./unix/Packaging/prototype $(PKGDIR)
  340. /usr/bin/pkgtrans -o -s . $(PKGDIR)_`uname -p`.pkg $(PKGDIR)
  341. @echo " "
  342. @echo "To install, copy $(PKGDIR)_`uname -p`.pkg to the target system, and"
  343. @echo "issue the command (as root):  pkgadd -d $(PKGDIR)_`uname -p`.pkg"
  344. @echo " "
  345. install: $(MANS)
  346. -$(INSTALL_D) $(BINDIR)
  347. $(INSTALL) $(UNZIPS) $(BINDIR)
  348. $(INSTALL) unix/zipgrep $(BINDIR)
  349. $(RM) $(BINDIR)/zipinfo$E
  350. $(LN) $(BINDIR)/unzip$E $(BINDIR)/zipinfo$E
  351. -$(INSTALL_D) $(MANDIR)
  352. $(INSTALL) unix/funzip.1 $(MANDIR)/funzip.$(manext)
  353. $(INSTALL) unix/unzip.1 $(MANDIR)/unzip.$(manext)
  354. $(INSTALL) unix/unzipsfx.1 $(MANDIR)/unzipsfx.$(manext)
  355. $(INSTALL) unix/zipgrep.1 $(MANDIR)/zipgrep.$(manext)
  356. $(INSTALL) unix/zipinfo.1 $(MANDIR)/zipinfo.$(manext)
  357. $(CHMOD) $(BINPERMS) $(INSTALLEDBIN)
  358. $(CHMOD) $(MANPERMS) $(INSTALLEDMAN)
  359. uninstall:
  360. $(RM) $(INSTALLEDBIN) $(INSTALLEDMAN)
  361. # the test zipfile
  362. TESTZIP = testmake.zip
  363. # test some basic features of the build
  364. test: check
  365. check:
  366. @echo '#####  This is a Unix-specific target.  (Just so you know.)'
  367. @echo '#####     Make sure unzip, funzip and unzipsfx are compiled and'
  368. @echo '#####     in this directory.'
  369. @if test ! -f ./unzip; then 
  370.     echo "#####  ERROR:  can't find ./unzip"; exit 1; fi
  371. @if test ! -f ./funzip; then 
  372.     echo "#####  ERROR:  can't find ./funzip"; exit 1; fi
  373. @if test ! -f ./unzipsfx; then 
  374.     echo "#####  ERROR:  can't find ./unzipsfx"; exit 1; fi
  375. #
  376. @if test ! -f $(TESTZIP); then 
  377.     echo "#####  ERROR:  can't find test file $(TESTZIP)"; exit 1; fi
  378. #
  379. @echo "#####  testing extraction"
  380. @./unzip -bo $(TESTZIP) testmake.zipinfo
  381. @if test ! -f testmake.zipinfo ; then 
  382.     echo "#####  ERROR:  file extraction from $(TESTZIP) failed"; 
  383.     exit 1; fi
  384. #
  385. @echo '#####  testing zipinfo (unzip -Z)'
  386. @./unzip -Z $(TESTZIP) > testmake.unzip-Z
  387. @if diff testmake.unzip-Z testmake.zipinfo; then echo "OK."; else 
  388.     echo "#####  WARNING:  zipinfo output doesn't match stored version"; 
  389.     echo '#####     (If the only difference is the file times, compare your'; 
  390.     echo '#####      timezone with the Central European timezone, which is one'; 
  391.     echo '#####      hour east of Greenwich but effectively 2 hours east'; 
  392.     echo '#####      during summer Daylight Savings Time.  The upper two'; 
  393.     echo '#####      lines should correspond to your local time when the'; 
  394.     echo '#####      files were created, on 19 November 1998 at 10:46pm CET.'; 
  395.     echo '#####      If the times are consistent, please ignore this warning.)'; 
  396.     fi
  397. @$(RM) testmake.unzip-Z testmake.zipinfo
  398. #
  399. @echo '#####  testing unzip -d exdir option'
  400. @./unzip -bo $(TESTZIP) -d testun notes
  401. @cat testun/notes
  402. #
  403. @echo '#####  testing unzip -o and funzip (ignore funzip warning)'
  404. @./unzip -boq $(TESTZIP) notes -d testun
  405. @./funzip < $(TESTZIP) > testun/notes2
  406. @if diff testun/notes testun/notes2; then true; else 
  407.     echo '#####  ERROR:  funzip output disagrees with unzip'; fi
  408. #
  409. @echo '#####  testing unzipsfx (self-extractor)'
  410. @cat unzipsfx $(TESTZIP) > testsfx
  411. @$(CHMOD) 0700 testsfx
  412. @./testsfx -bo notes
  413. @if diff notes testun/notes; then true; else 
  414.     echo '#####  ERROR:  unzipsfx file disagrees with unzip'; fi
  415. @$(RM) testsfx notes testun/notes testun/notes2
  416. @rmdir testun
  417. #
  418. @echo '#####  testing complete.'
  419. ################################
  420. # INDIVIDUAL MACHINE MAKERULES #
  421. ################################
  422. #----------------------------------------------------------------------------
  423. #  Generic targets (can't assume make utility groks "$(MAKE)")
  424. #----------------------------------------------------------------------------
  425. generic: unzips    # first try if unknown
  426. generic2: unix_make  # second try if unknown:  hope make is called "make"
  427. make -f unix/Makefile unzips CF="$(CF) -DBSD"
  428. generic3: unix_make  # third try if unknown:  hope make is called "make"
  429. make -f unix/Makefile unzips CF="$(CF) -DSYSV"
  430. # Generic unzip and funzip target using either shared or static zlib for
  431. # inflate rather than the original UnZip version.  (libz was libgz prior
  432. # to 0.94)  Need to figure out how to force unzipsfx to use static libz.
  433. generic_zlib: unix_make
  434. @echo
  435.  "This target assumes zlib (libz.a or libz.so.*) is already installed."
  436. $(MAKE) unzip funzip CF="$(CF) -DUSE_ZLIB" LF2="-lz $(LF2)"
  437. # Generic GNU C shared library.  This is an example of how to compile UnZip as
  438. # a shared library.  (Doing so as a static library would be similar.)  See also
  439. # the linux_shlib target.
  440. generic_shlib: unix_make
  441. @echo
  442.  'This target requires GNU C.  When done, do "setenv LD_LIBRARY_PATH `pwd`"'
  443. @echo
  444.  'or similar in order to test the shared library in place (with ./unzip_shlib ,'
  445. @echo
  446.  'which is UnZip linked with the DLL).  This target is an example only.'
  447. @echo ""
  448. $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL $(LOC)"
  449. gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
  450. $(RM) libunzip.so.0 libunzip.so
  451. $(LN) -s libunzip.so.0.4 libunzip.so.0
  452. $(LN) -s libunzip.so.0 libunzip.so
  453. gcc -c -O unzipstb.c
  454. gcc -o unzip_shlib unzipstb.o -L. -lunzip
  455. #----------------------------------------------------------------------------
  456. #  "Normal" group (BSD vs. SysV may be set in unzip.h via predefined macros):
  457. #----------------------------------------------------------------------------
  458. 386i: unzips # sun386i, SunOS 4.0.2
  459. 3Bx: unzips # AT&T 3B2/1000-80; should work on any WE32XXX machine
  460. #aix_rt: unzips # IBM RT 6150 under AIX 2.2.1
  461. bull: unzips # Bull DPX/2, BOS 2.00.45 (doesn't require -Xk switch)
  462. convex: unzips # Convex C-120 and C-210 (-O is enough; -ext is default)
  463. cray: unzips # Cray-2 and Y-MP, using default (possibly old) compiler
  464. dec: unzips # DEC 5820 (MIPS RISC), test version of Ultrix v4.0
  465. encore: unzips # Multimax
  466. eta: unzips # ETA-10P*, hybrid SysV with BSD 4.3 enhancements
  467. gould: unzips # Gould PN9000 running UTX/32 2.1Bu01
  468. hp: unzips # HP 9000 series (68020), 4.3BSD or HP-UX A.B3.10 Ver D
  469. hpux: unzips # (to match zip's makefile entry)
  470. mips: unzips # MIPS M120-5(?), SysV.3 [error in sys/param.h file?]
  471. next10: unzips # NeXT (generic; use next2x or next3x for better opt.)
  472. osf1: unzips # DECstation, including Alpha-based; DEC OSF/1 v1.x
  473. pyr_: unzips # [failsafe target for pyramid target below]
  474. pyr_ucb: unzips # Pyramids running BSD universe by default (see below)
  475. realix: unzips # Modcomp Real/IX (SysV.3); note "gcc" = GLS C, not GNU
  476. sco: unzips # Xenix/386 (tested on 2.3.1); SCO Unix 3.2.0.
  477. sgi: unzips # Silicon Graphics; Irix 3.3.2, 4.0.x, 5.2, etc.
  478. stellar: unzips # gs-2000
  479. sun: unzips # old target; no good with solaris...use "sunos" now
  480. sunos: unzips # no good with SunOS 3.x...use "sunos3" or "sunos4" now
  481. sunos4: unzips # Sun 3, 4; SunOS 4.x (SOME SYSTEMS ARE SYSTEM V!)
  482. tahoe: unzips # tahoe (CCI Power6/32), 4.3BSD
  483. ultrix: unzips # VAXen, DEC 58x0 (MIPS guts), DECstation 2100; v4.x
  484. vax: unzips # general-purpose VAX target (not counting VMS)
  485. #----------------------------------------------------------------------------
  486. #  BSD group (for timezone structs [struct timeb]):
  487. #----------------------------------------------------------------------------
  488. bsd: _bsd # generic BSD (BSD 4.2 & Ultrix handled in unzip.h)
  489. _bsd: unix_make
  490. $(MAKE) unzips CF="$(CF) -DBSD"
  491. #----------------------------------------------------------------------------
  492. #  SysV group (for extern long timezone and ioctl.h instead of sgtty.h):
  493. #----------------------------------------------------------------------------
  494. aix_rt: _sysv # IBM RT 6150 under AIX 2.2.1
  495. aviion: _sysv # Data General AViiONs, DG/UX 4.3x
  496. pyr_att: _sysv # Pyramids running AT&T (SysV) universe by default
  497. solaris: _sysv # Sun SPARC & x86, Solaris 2.x
  498. solaris_pkg: _sysvp # Sun SPARC & x86, Solaris 2.x; make package when done
  499. stardent: _sysv # Stardent ...
  500. sysv: _sysv # generic System V Unix (Xenix handled in unzip.h)
  501. xos: _sysv # Olivetti LSX-3005..3045, X/OS 2.3 and 2.4
  502. _sysv: unix_make
  503. $(MAKE) unzips CF="$(CF) -DSYSV"
  504. # extension to perform SVR4 package-creation after compilation
  505. _sysvp: _sysv svr4package
  506. #----------------------------------------------------------------------------
  507. #  Version 7 group (old/obsolescent):
  508. #----------------------------------------------------------------------------
  509. pixel: _v7 # Pixel 80, 100 (68000-based, V7/mostly BSD4.1 compat.)
  510. v7: _v7 # generic Unix Version 7 box (prob. only Pixel...)
  511. _v7:
  512. make -f unix/Makefile unzips 
  513.  CF="$(CF) -DV7 -DNO_PARAM_H -DSHORT_NAMES -DBSD -DZMEM"
  514. #----------------------------------------------------------------------------
  515. #  "Unique" group (require non-standard options):
  516. #----------------------------------------------------------------------------
  517. # AT&T 3B2/1000-80; should work on any WE32XXX machine
  518. 3Bx: unix_make
  519. $(MAKE) unzips CF="$(CF) -DCBREAK=2"
  520. # AT&T 7300 (M68000/SysV.3) (add -DSYSV? -DNO_LIMITS?)
  521. 7300: unix_make
  522. $(MAKE) unzips CF="$(CF) -DNO_DIR -DNO_MKDIR -DNO_STRNICMP -DNO_UID_GID -DCBREAK=2"
  523. 7300_gcc: unix_make
  524. $(MAKE) unzips CC=gcc LD=gcc LF2="" 
  525.  CF="-O2 -I. -DNO_DIR -DNO_MKDIR -DNO_STDLIB_H -DNO_STRNICMP -DNO_UID_GID -DCBREAK=2 $(LOC)"
  526. $(STRIP) $(UNZIPS)
  527. # IBM AIX 3.x on an RS/6000:  see rs6000 target below
  528. aix: rs6000
  529. # Amdahl (IBMish) mainframe, UTS (SysV) 1.2.4, 2.0.1, 3.x
  530. amdahl: unix_make
  531. $(MAKE) unzips CF="$(CF) -DSYSV -DNO_UID_GID"
  532. # Amdahl UTS 2.1.4 with "extended file types" filesystem (aarrrggghhhh...)
  533. amdahl_eft: unix_make
  534. $(MAKE) unzips CF="$(CF) -eft -DSYSV -DNO_UID_GID"
  535. # Apollo Domain/OS machines (added -D...SOURCE options) [Gordon Fox, 960810]
  536. apollo: unix_make
  537. $(MAKE) unzips CF="$(CF) -D_INCLUDE_BSD_SOURCE -D_INCLUDE_XOPEN_SOURCE"
  538. # BSDI BSD/OS on 386 platform, using the assembler replacement for crc32.c
  539. bsdi: unix_make
  540. @echo 'NOTE:  use bsdi_noasm target for non-Intel BSD/OS compiles.'
  541. $(MAKE) unzips CC=gcc2 LD=shlicc2 AS=gcc2
  542.  CF="-O3 -Wall -I. -DASM_CRC -DBSD $(LOC)" CRC32=crc_gcc
  543. # BSDI BSD/OS
  544. bsdi_noasm: unix_make
  545. # @echo 'NOTE:  use bsd target for non-Intel BSD/OS compiles.'
  546. $(MAKE) unzips CC=gcc2 LD=shlicc2 AS=gcc2
  547.  CF="-O3 -Wall -I. -DBSD $(LOC)"
  548. # Coherent 3.x/4.x, Mark Williams C.  ``For Coherent's CC, it needs either
  549. # -T0 or -T150000 (or bigger) added to the CFLAGS, otherwise the compiler
  550. # runs out of memory and dies in zipinfo.c.'' [Fred "Fredex" Smith, 940719]
  551. coherent: unix_make
  552. $(MAKE) unzips CF="$(CF) -T0"
  553. # Cray-2, Y-MP or C90, running Unicos 5.x to 8.x (SysV + BSD enhancements)
  554. # and Standard (ANSI) C compiler 3.0 or later.
  555. cray_opt: unix_make
  556. $(MAKE) unzips CF="$(CF) -h scalar3 -h vector3"
  557. # The unzip41 build on a Cyber 910/SGI running Irix v3.3.3 was successful
  558. # with the following change to Makefile:
  559. cyber_sgi: unix_make
  560. $(MAKE) unzips CF="$(CF) -I/usr/include/bsd"
  561.  LF="-lbsd $(LF)" SL="-lbsd $(SL)"
  562. # 680x0, DIAB dnix 5.2/5.3 (a Swedish System V clone)
  563. #
  564. # Options for the dnix cc:
  565. #  -X7 = cc is strict ANSI C
  566. #  -X9 = warnings if a function is used without a declaration
  567. #
  568. dnix: unix_make
  569. $(MAKE) unzips CF="$(CF) -X7 -X9 -DDNIX"
  570. # FreeBSD on Intel:
  571. freebsd: unix_make
  572. @echo 'NOTE:  use bsd target for non-Intel FreeBSD compiles (if any).'
  573. $(MAKE) unzips CC=gcc LD=gcc AS=gcc
  574.  CF="-O3 -Wall -I. -DASM_CRC -DBSD $(LOC)"
  575.  AF="-Di386 $(AF)" CRC32=crc_gcc
  576. # Generic BSDish Unix gcc.  ``The -O3 only works with later versions of gcc;
  577. # you may have to use -O2 or -O for earlier versions.  I have no idea why
  578. # -s causes this bug in gcc.''  [Bug:  "nm: unzip: no name list", "collect:
  579. # /usr/bin/nm returned 1 exit status".]  If you don't have strip, don't
  580. # worry about it (it just makes the executable smaller and can be replaced
  581. # with "echo" instead).
  582. #
  583. gcc: unix_make
  584. $(MAKE) unzips CC=gcc LD=gcc CF="-O3 -I. $(LOC)" LF2=""
  585. $(STRIP) $(UNZIPS)
  586. # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
  587. hk68: unix_make
  588. $(MAKE) unzips CC="gcc" LD="gcc"
  589.  LF="-n $(LF)" SL="-n $(SL)" FL="-n $(FL)"
  590.  CF="-ga -X138 -I. $(LOC) -Dlocaltime=localti -Dtimezone=timezon"
  591. # ISC Unix on 386 platform
  592. isc: unix_make
  593. $(MAKE) unzips LF2="-lc_s $(LF2)" CRC32=crc_sysv 
  594.  CF="-O -I. -DASM_CRC -DSYSV -DNO_UID_GID -DNEED_PTEM $(LOC)" 
  595.  AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
  596. isc_gcc: unix_make
  597. $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRC32=crc_gcc LF="-shlib $(LF)" 
  598.  SL="-shlib $(SL)" FL="-shlib $(FL)" 
  599.  LF2="" CF="-O3 -I. -DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM $(LOC)" 
  600.  AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
  601. $(STRIP) $(UNZIPS)
  602. # "ISI machine (68025 CPU)" (based on e-mail from Rob White <rsw@tfs.com>;
  603. # no further information).  May also need DIRENT defined.
  604. isi: unix_make
  605. $(MAKE) unzips CF="$(CF) -DDECLARE_ERRNO"
  606. # Linux on 386 platform, using the assembler replacement for crc32.c. (-O4 and
  607. # -fno-strength-reduce have virtually no effect beyond -O3.  Add "-m486
  608. # -malign-functions=2 -malign-jumps=2 -malign-loops=2" for Pentium [Pro]
  609. # systems.)
  610. linux: unix_make
  611. @echo 'NOTE:  use linux_noasm target for non-Intel Linux compiles.'
  612. $(MAKE) unzips CC=gcc LD=gcc AS=gcc
  613.  CF="-O3 -Wall -I. -DASM_CRC $(LOC)"
  614.  AF="-Di386 $(AF)" CRC32=crc_gcc
  615. # GRR:  this echo is pointless; if user gets this far, no difference to install
  616. # @echo 'Be sure to use the install_asm target rather than the install target'
  617. linux_asm: linux
  618. # Linux (Posix, approximately SysV):  virtually any version since before 0.96,
  619. # for any platform.  Change "-O" to "-O3" or whatever, as desired...
  620. linux_noasm: unix_make
  621. $(MAKE) unzips CC=gcc LD=gcc CF="-O -Wall -I. $(LOC)"
  622. # Linux with lcc compiler:  __inline__ (stat.h) not recognized, and must edit
  623. # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined.  -O3
  624. # (or -O2 or -O) is ignored.  [GRR 960828: test target only]
  625. #
  626. linux_lcc: unix_make
  627. $(MAKE) unzips CC=lcc LD=lcc CF="-O3 -Wall -I. -D__inline__= $(LOC)"
  628. # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS.
  629. linux_dos: unix_make
  630. $(MAKE) unzips CC=go32gcc LD=go32gcc M=msdos CF="-O2 -Wall -I. $(LOC)"
  631. # go32-strip unzip
  632. # Due to limitations of the cross-compiling package, this has to be
  633. # done manually:
  634. @echo Copy $(UNZIPS) to your DOS partition and use coff2exe.
  635. # Linux ELF shared library (ooo, it's so easy).  This is a test target for
  636. # now, and it only makes the UnZip/ZipInfo stuff (not fUnZip or UnZipSFX).
  637. # The version number may eventually change to match the UnZip version.  Or
  638. # not.  Whatever.  Also do "setenv LD_LIBRARY_PATH `pwd`" or similar to test
  639. # the DLL in place (with unzip_shlib, which is UnZip linked with the shared
  640. # library).
  641. #
  642. linux_shlib: unix_make
  643. # $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL $(LOC)"
  644. $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL -DASM_CRC $(LOC)"
  645.  AS=gcc AF="-fPIC -Di386 $(AF)" CRC32=crc_gcc
  646. ln -sf crc_gcc.pic.o crc32.pic.o
  647. gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
  648. ln -sf libunzip.so.0.4 libunzip.so.0
  649. ln -sf libunzip.so.0 libunzip.so
  650. gcc -c -O unzipstb.c
  651. gcc -o unzip_shlib unzipstb.o -L. -lunzip
  652. # Linux ELF shared library, as above, but using inflate() from zlib (libz.so)
  653. # instead of the original UnZip version.  (libz was libgz prior to 0.94)
  654. linux_shlibz: unix_make
  655. # $(MAKE) objsdll CC=gcc CF="-O3 -Wall -I. -fPIC -DDLL -DUSE_ZLIB $(LOC)"
  656. $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRC32=crc_gcc
  657.  CF="-O3 -Wall -I. -fPIC -DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
  658. ln -sf crc_gcc.pic.o crc32.pic.o
  659. gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
  660. ln -sf libunzip.so.0.4 libunzip.so.0
  661. gcc -c -O unzipstb.c
  662. gcc -o unzip unzipstb.o -L. -lunzip -lz
  663. # LynxOS-x86 2.3.0 and newer, a real-time BSD-like OS; uses gcc.
  664. lynx: unix_make
  665. $(MAKE) unzips CC=gcc CF="$(CF) -DLynx -DLYNX -DBSD"
  666. # Minix 1.5 PC for the 386.  Invoke as is to use default cc, or as "make
  667. # minix CC=gcc" to use gcc.  Try "make linux" if you have a working termios.h.
  668. minix: unix_make
  669. $(MAKE) unzips CF="$(CF) -DMINIX -DSHORT_NAMES" CC=$(CC) LD=$(CC)
  670. # NeXT info.
  671. next:
  672. @echo
  673. @echo
  674.  '  Please pick a specific NeXT target:  "make next10" will create a generic'
  675. @echo
  676.  '  NeXT executable; "make next2x" will create a smaller executable (for'
  677. @echo
  678.  '  NeXTstep 2.0 and higher); "make next3x" will create a small executable'
  679. @echo
  680.  '  with significantly better optimization (NeXTstep 3.0 and higher only);'
  681. @echo
  682.  '  "make nextfat" will create a fat, multi-architecture (NeXT plus Intel)'
  683. @echo
  684.  '  executable (NeXTstep 3.1 and higher only).'
  685. @echo
  686. # 68030 BSD 4.3+Mach.  NeXT 2.x: make the executable smaller.
  687. next2x: unix_make
  688. $(MAKE) unzips LF2="-object -s"
  689. # NeXT 3.x: as above, plus better optimization.
  690. next3x: unix_make
  691. $(MAKE) unzips CF="-O2 -I. $(LOC)" LF2="-object -s"
  692. # NeXT 3.1+: make the executable fat (multi-architecture binary [MAB],
  693. # for "black" [NeXT] and "white" [x86] hardware, so far).
  694. nextfat: unix_make
  695. $(MAKE) unzips CF="-O2 -I. $(LOC) -arch i386 -arch m68k" 
  696.  LF2="-arch i386 -arch m68k -object -s"
  697. # IBM OS/390 (formerly MVS) compiled under "OpenEdition" shell
  698. os390: unix_make
  699. make -f unix/Makefile unzips 
  700.  CF="$(CF) -DSYSV -DUNIX -DOS390 -DEBCDIC -DNO_PARAM_H" LF2=""
  701. # Sequent Symmetry running Dynix/ptx (sort of SysV.3):  needs to link
  702. # with libseq to get symlink().
  703. ptx: unix_make
  704. $(MAKE) unzips CF="$(CF) -DSYSV -DTERMIO -DPTX" LF2="$(LF2) -lseq"
  705. # Pyramid 90X (probably all) under >= OSx4.1, either universe.  (This is an
  706. # experimental target!  If it fails, use either pyr_ucb or pyr_att instead.)
  707. # The make in the BSD half is too stupid to understand $(MAKE), sigh...
  708. pyramid: unix_make
  709. -make -f unix/Makefile pyr_`universe`
  710. # QNX/Neutrino is "special" because you don't have any native development
  711. # tools yet.  Set ARCH to "x86", "ppcbe", "ppcle", "mipsbe", or "mipsle"
  712. # to produce x86, PowerPC (big- or little-endian) and MIPS (big-
  713. # or little-endian) using gcc. [cjh]
  714. qnxnto: unix_make
  715. @if [ "$(ARCH)" = "" ] ; then 
  716. echo "You didn't set ARCH; I'll assume you meant ARCH=x86..." ; 
  717. echo "" ; 
  718. $(MAKE) -f unix/Makefile CC="qcc -Vgcc_ntox86" unzips ; 
  719. else 
  720. echo "Making unzip for $(ARCH)..." ; 
  721. echo "" ; 
  722. $(MAKE) -f unix/Makefile CC="qcc -Vgcc_nto$(ARCH)" unzips ; 
  723. fi
  724. # REGULUS:  68040-based, "real-time" SysV.3 mutant; uses gcc, with "REGULUS"
  725. # predefined.
  726. regulus: unix_make
  727. $(MAKE) unzips CF="$(CF) -traditional -DSYSV -DNO_MKDIR"
  728. # IBM RS/6000 under AIX 3.2
  729. rs6000: unix_make
  730. $(MAKE) unzips CF="$(CF) -DBSD -D_BSD -DUNIX" LF2="-lbsd"
  731. # SCO cross compile from Unix to DOS. Tested with Xenix/386 and OpenDeskTop.
  732. # Should work with Xenix/286 as well. (davidsen)  Note that you *must* remove
  733. # the Unix objects and executable before doing this!  (Piet Plomp:  gcc won't
  734. # recognize the -M0 flag that forces 8086 code.)  (GRR:  may need to reduce
  735. # stack to 0c00h if using 286/small-model code...?)
  736. sco_dos: unix_make
  737. $(MAKE) unzips CF="-O -I. $(LOC) -dos -M0" M=msdos 
  738.  LF="-dos -F 2000" LF2="-o unzip.exe" 
  739.  FL="-dos" FL2="-o funzip.exe" SL="-dos" SL2="-o unzipsfx.exe"
  740. # SCO UNIX with shared libraries and no international support.  If you are
  741. # not using a USA-style keyboard and display, you may want to remove -nointl
  742. # to get support.  It adds quite a bit to the size of the executable.
  743. sco_sl: unix_make
  744. $(MAKE) unzips LF="$(LF) -nointl" LF2="$(LF2) -lc_s"
  745.  SL="$(SL) -nointl" FL="$(FL) -nointl"
  746. # SCO Xenix/286 2.2.3 or later with development system 2.2.1 or later
  747. sco_x286: unix_make
  748. $(MAKE) unzips CF="$(CF) -Mel2 -LARGE -DNO_MKDIR" 
  749.  LF="$(LF) -Mel2 -LARGE -lx" SL="$(SL) -Mel2 -LARGE" 
  750.  FL="$(FL) -Mel2 -LARGE"
  751. # Sequent Symmetry with Dynix.  (386, but needs -DZMEM)
  752. # This should also work on Balance but I can't test it just yet.
  753. sequent: unix_make
  754. $(MAKE) unzips CF="$(CF) -DBSD -DZMEM"
  755. # Sun 2, 3, 4 running SunOS 3.x
  756. sunos3: unix_make
  757. $(MAKE) unzips CF="$(CF) -DNO_UID_GID -DUID_USHORT"
  758. # Generic System V + GNU C
  759. sysv_gcc: unix_make
  760. $(MAKE) unzips CC=gcc LD=gcc CF="-O2 -I. -DSYSV $(LOC)" LF2=""
  761. $(STRIP) $(UNZIPS)
  762. # AT&T 6300+, System V.2 Unix:  run-time out-of-memory error if don't use -Ml;
  763. # also compile-time error if work arrays dimensioned at HSIZE+2 (>32K)
  764. sysv6300: unix_make
  765. $(MAKE) unzips CF="$(CF) -Ml -DSYSV" LF="$(LF) -Ml"
  766.  SL="$(SL) -Ml" FL="$(FL) -Ml"
  767. # Texas Instruments System V.3 (running on HP 9000-1500)
  768. ti_sysv: unix_make
  769. $(MAKE) unzips CF="$(CF) -DSYSV -DNO_UID_GID -DUID_USHORT"
  770. # SCO Xenix (Joe Foster 950508:  "unzip needs to be linked with -lx [for the
  771. # opendir(), readdir(), telldir(), rewinddir(), and closedir() calls]")
  772. xenix:  unix_make
  773. $(MAKE) unzips LF2="$(LF2) -lx"
  774. # Wombat 68000 (or whatever).
  775. # I didn't do this.  I swear.  No, really.
  776. wombat: unix_make
  777. @echo
  778. @echo  ' Ha ha!  Just kidding.'
  779. @echo