Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. # Makefile for UnZip(SFX) and fUnZip for Borland C++ for Windows 9x/NT
  2. # Version: 6.0 and later
  3. # Alvin Koh, Jim Knoble, Christian Spieler, E-Yen Tan, Cosmin Truta, etc.
  4. #
  5. # Tested with Borland C++ 5.5 (may work with older C++Builder 3.0, too)
  6. #
  7. # Last revised: 07 Sep 2008 (Christian Spieler)
  8. #
  9. #
  10.  
  11. #    Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD)
  12. #    should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
  13. #    to the declaration of LOC here:
  14. LOC = $(LOCAL_UNZIP)
  15.  
  16. # Type for CPU required: 3: 80386, 4: 80486, 5: Pentium,
  17. #                        6: Pentium Pro, Pentium II, etc.
  18. !ifndef CPU_TYP
  19. CPU_TYP = 6
  20. !endif
  21.  
  22. # (De)Select inclusion of optimized assembler CRC32 routine:
  23. !ifdef NOASM
  24. USE_ASMCRC=0
  25. !else
  26. !ifdef USEASM
  27. USE_ASMCRC=1
  28. !endif
  29. !endif
  30.  
  31. # Specify USEMASM=1 or USETASM=1 in case you have one of these x86 assemblers
  32. # to use the assembler instead of the inline ASM C code.
  33. #USEMASM=1
  34. #USETASM=1
  35. # For the Turbo Assembler, you may choose between the (old) 16-bit version
  36. # and the 32-bit program which is faster provides more resources.
  37. #USETASM16=1
  38.  
  39. !ifndef USE_ASMCRC
  40. # default to ASM CRC C code for now (BCC needs TASM32 to support inline asm)...
  41. USE_ASMCRC = 0
  42. !endif
  43.  
  44. !ifndef USE_IZTIMEZONE
  45. #default: do not use the IZ timezone replacement
  46. USE_IZTIMEZONE=0
  47. !endif
  48.  
  49. !if $(USE_IZTIMEZONE) != 0
  50. LOC = -DW32_USE_IZ_TIMEZONE $(LOC)
  51. !endif
  52.  
  53. # If you have bcc32i, you should define:
  54. # CC = bcc32i
  55. # This compiler generates a faster code.
  56. CC = bcc32
  57. !ifdef USETASM16
  58. AS = tasm
  59. !else
  60. AS = tasm32
  61. !endif
  62. AR = tlib
  63. LD = ilink32
  64.  
  65. !if $(USE_ASMCRC) != 0
  66. ASMFLG = -DASM_CRC
  67. CRC32 = crc_i386
  68. CRC32X = $(CRC32)
  69. CRC32F = $(CRC32)
  70. CRC32L = $(CRC32)
  71. CRC32G = $(CRC32)
  72. CRC32B = $(CRC32)
  73. !else
  74. ASMFLG =
  75. CRC32 = crc32
  76. CRC32X = crc32x
  77. CRC32F = crc32f
  78. CRC32L = crc32l
  79. CRC32G = crc32g
  80. CRC32B = $(OB)crc32b
  81. !endif
  82.  
  83. !if $(USE_IZTIMEZONE) != 0
  84. TIMEZONE_OBJU = timezone.obj
  85. TIMEZONE_OBJX = timezonx.obj
  86. TIMEZONE_OBJD = timezonl.obj
  87. TIMEZONE_OBLX = timezolx.obj
  88. TIMEZONE_OBJB = $(OB)timezonb.obj
  89. !else
  90. TIMEZONE_OBJU =
  91. TIMEZONE_OBJX =
  92. TIMEZONE_OBJD =
  93. TIMEZONE_OBLX =
  94. TIMEZONE_OBJB =
  95. !endif
  96.  
  97. !if $(UNCLEAN)
  98. DIRT = -DUSE_SMITH_CODE -DUSE_UNSHRINK
  99. !else
  100. DIRT =
  101. !endif
  102.  
  103. !if $(DEBUG)
  104. CC_SIZE_OPT = -Od
  105. CC_SPEED_OPT = -Od
  106. !else
  107. # Smallest code
  108. CC_SIZE_OPT = -O1 -OS
  109. # Fastest code
  110. CC_SPEED_OPT = -O2 -OS -Oc
  111. !endif
  112. !if $(WARNINGS)
  113. CC_WARN = -w -w-aus -w-par -w-sig -w-use
  114. !else
  115. CC_WARN = -w-
  116. !endif
  117.  
  118. # compiler flags
  119.  
  120. ASCPUFLAG = __$(CPU_TYP)86
  121. !if $(CPU_TYP) != 0
  122. CC_CPUFLG = -$(CPU_TYP)
  123. !endif
  124. ASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC)
  125. CFLAGS = $(CC_WARN) $(CC_CPUFLG) -d -ff- -k- -P-.C -I. $(ASMFLG) $(LOC) $(DIRT)
  126. LDFLAGS = # -lxncd -l-P         # for bcc
  127. LDFLAGS_DLL = $(LDFLAGS) -tWD
  128. LDFLAGS_GUI = $(LDFLAGS) -tW
  129. UNFLAGS = $(CFLAGS) $(CC_SPEED_OPT)
  130. FUFLAGS = $(CFLAGS) $(CC_SPEED_OPT) -K -DFUNZIP
  131. SXFLAGS = $(CFLAGS) $(CC_SIZE_OPT) -DSFX
  132. DLFLAGS = $(CFLAGS) $(CC_SPEED_OPT) -tWD -DWINDLL -DDLL
  133. SLFLAGS = $(CFLAGS) $(CC_SIZE_OPT) -DWINDLL -DDLL -DUNZIPLIB -DSFX
  134. GXFLAGS = $(CFLAGS) $(CC_SIZE_OPT) -tW -DSFX
  135. LBFLAGS = $(CFLAGS) $(CC_SPEED_OPT) -DWINDLL -DDLL -DUNZIPLIB
  136.  
  137. # list macros
  138.  
  139. # special subdirectory for the static library binaries, to separate them
  140. # from other binaries (including dll import library file)
  141. OBDIR = ow32lib
  142. OB = $(OBDIR)/
  143.  
  144. # object files
  145. OBJU1 = unzip.obj $(CRC32).obj crypt.obj envargs.obj explode.obj
  146. OBJU2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.obj
  147. OBJU3 = process.obj ttyio.obj ubz2err.obj unreduce.obj unshrink.obj zipinfo.obj
  148. OBJUS = win32.obj win32i64.obj nt.obj $(TIMEZONE_OBJU)
  149. OBJU  = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJUS)
  150. OBJF  = funzip.obj $(CRC32F).obj cryptf.obj globalsf.obj inflatef.obj \
  151.         ttyiof.obj win32f.obj win32i64f.obj
  152. OBJX1 = unzipsfx.obj $(CRC32X).obj cryptx.obj
  153. OBJX2 = extractx.obj fileiox.obj globalsx.obj inflatex.obj matchx.obj
  154. OBJX3 = processx.obj ttyiox.obj ubz2errx.obj
  155. OBJXS = win32x.obj win32i64x.obj ntx.obj $(TIMEZONE_OBJX)
  156. OBJX  = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJXS)
  157. OBJD1 = api.obj $(CRC32L).obj cryptl.obj explodel.obj
  158. OBJD2 = extractl.obj fileiol.obj globalsl.obj inflatel.obj listl.obj matchl.obj
  159. OBJD3 = processl.obj ubz2errl.obj unreducl.obj unshrnkl.obj zipinfol.obj
  160. OBJDS = win32l.obj win32i64l.obj ntl.obj windll.obj $(ASMOBJS) $(TIMEZONE_OBJD)
  161. OBJD  = $(OBJD1) $(OBJD2) $(OBJD3) $(OBJDS)
  162. OBLX1 = apig.obj $(CRC32G).obj cryptg.obj
  163. OBLX2 = extractg.obj fileiog.obj globalsg.obj inflateg.obj
  164. OBLX3 = matchg.obj processg.obj ubz2errg.obj
  165. OBLXS = win32g.obj win32i64g.obj ntg.obj windllg.obj $(TIMEZONE_OBLX)
  166. OBLX  = $(OBLX1) $(OBLX2) $(OBLX3) $(OBLXS)
  167. OBGX  = sfxwiz.obj
  168. OBJLIB = $(OB)windllb.obj $(OB)apib.obj
  169. OBJB1 = $(CRC32B).obj $(OB)cryptb.obj
  170. OBJB2 = $(OB)explodeb.obj $(OB)extractb.obj $(OB)fileiob.obj $(OB)globalsb.obj
  171. OBJB3 = $(OB)inflateb.obj $(OB)listb.obj $(OB)matchb.obj $(OB)processb.obj
  172. OBJB4 = $(OB)ubz2errb.obj $(OB)unreducb.obj $(OB)unshrnkb.obj $(OB)zipinfob.obj
  173. OBJBS = $(OB)win32b.obj $(OB)win32i64b.obj $(OB)ntb.obj $(TIMEZONE_OBJB)
  174. OBJB  = $(OBJLIB) $(OBJB1) $(OBJB2) $(OBJB3) $(OBJB4) $(OBJBS)
  175.  
  176. UNZIP_H = unzip.h unzpriv.h globals.h win32/w32cfg.h
  177. WINDLL_H = windll/windll.h windll/structs.h windll/decs.h
  178. WINDLL_DEF = windll/windll32.def
  179. WINDLL_IMP_H = windll/decs.h windll/structs.h
  180.  
  181. # implicit rules
  182.  
  183. .asm.obj:
  184.         $(AS) $(ASFLAGS) $<
  185.  
  186. .c.obj:
  187.         $(CC) -c $(UNFLAGS) {$< }
  188.  
  189. # explicit rules
  190.  
  191. # Default target is all the command line executables
  192. unzips: unzip.exe funzip.exe unzipsfx.exe
  193. dll:    unzip32.dll
  194. dllsample: uzexampl.exe
  195. guisfx: SFXWiz32.exe
  196. lib:    $(OBDIR) $(OB)unzip32.lib
  197. all:    unzips dll dllsample guisfx lib
  198.  
  199. unzip.exe:      $(OBJU) winapp.res
  200.         $(CC) $(LDFLAGS) -e$@ @&&|
  201. $(OBJU)
  202. |
  203.  
  204. funzip.exe:     $(OBJF)
  205.         $(CC) $(LDFLAGS) -e$@ @&&|
  206. $(OBJF)
  207. |
  208.  
  209. unzipsfx.exe:   $(OBJX)
  210.         $(CC) $(LDFLAGS) -e$@ @&&|
  211. $(OBJX)
  212. |
  213.  
  214. unzip32.dll:    $(OBJD) windll.res $(WINDLL_DEF)
  215.         $(LD) -Gn -x -c -aa -Tpd @&&|
  216. c0d32.obj $(OBJD),$@,,import32.lib cw32.lib,$(WINDLL_DEF:/=\),windll.res
  217. |
  218. #       $(CC) $(LDFLAGS_DLL) -e$@ @&&|
  219. #$(OBJD)
  220. ##, windll.res
  221. #|
  222. #       brc32 windll.res $@
  223.  
  224. unzsfx32.lib:   $(OBLX)
  225.         $(AR) /C $(@:/=\) @&&|
  226. /u $(OBLX:/=\)
  227. |
  228.  
  229. SFXWiz32.exe:   $(OBGX) sfxwiz.res unzsfx32.lib
  230.         $(LD) -Gn -x -c -aa -Tpe @&&|
  231. c0w32.obj $(OBGX),$@,,unzsfx32.lib import32.lib cw32.lib,,sfxwiz.res
  232. |
  233. #       $(CC) $(LDFLAGS_GUI) -e$@ $(OBGX) unzsfx32.lib $(LDLIBS)
  234. #       brc32 sfxwiz.res $@
  235.  
  236. uzexampl.exe:   uzexampl.obj
  237.         $(CC) $(LDFLAGS) -e$@ uzexampl.obj #version.lib
  238.  
  239. $(OB)unzip32.lib: $(OBJB)
  240.         $(AR) /C $(@:/=\) @&&|
  241. /u $(OBJB:/=\)
  242. |
  243.  
  244. clean:
  245.         rem Ignore any errors in the following...
  246.         -del *.obj
  247.         -del winapp.res
  248.         -del unzip.exe
  249.         -del funzip.exe
  250.         -del unzipsfx.exe
  251.         -del windll.res
  252.         -del unzip32.dll
  253.         -del uzexampl.exe
  254.         -del sfxwiz.res
  255.         -del unzsfx32.lib
  256.         -del SFXWiz32.exe
  257.         -del $(OB:/=\)*.obj
  258.         -del $(OB:/=\)unzip32.lib
  259.         -del *.tds
  260.         -del $(OB:/=\)*.tds
  261.  
  262. # individual file dependencies
  263.  
  264. crc32.obj:      crc32.c $(UNZIP_H) zip.h crc32.h
  265. crypt.obj:      crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
  266. envargs.obj:    envargs.c $(UNZIP_H)
  267. explode.obj:    explode.c $(UNZIP_H)
  268. extract.obj:    extract.c $(UNZIP_H) crc32.h crypt.h
  269. fileio.obj:     fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
  270. globals.obj:    globals.c $(UNZIP_H)
  271. inflate.obj:    inflate.c inflate.h $(UNZIP_H)
  272. list.obj:       list.c $(UNZIP_H)
  273. match.obj:      match.c $(UNZIP_H)
  274. process.obj:    process.c $(UNZIP_H) crc32.h
  275. timezone.obj:   timezone.c $(UNZIP_H) zip.h timezone.h
  276. ttyio.obj:      ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  277. ubz2err.obj:    ubz2err.c $(UNZIP_H)
  278. unreduce.obj:   unreduce.c $(UNZIP_H)
  279. unshrink.obj:   unshrink.c $(UNZIP_H)
  280. unzip.obj:      unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h
  281. zipinfo.obj:    zipinfo.c $(UNZIP_H)
  282.  
  283. !ifdef USEMASM
  284. crc_i386.obj:   win32/crc_i386.asm
  285.         masm -ml win32/crc_i386.asm,$@;
  286. !else
  287. !ifdef USETASM
  288. crc_i386.obj:   win32/crc_i386.asm
  289.         $(AS) $(ASFLAGS) win32\crc_i386.asm, $@ ;
  290. !else
  291. crc_i386.obj:   win32/crc_i386.c
  292.         $(CC) -c $(UNFLAGS) -o$@ win32/crc_i386.c
  293. !endif
  294. !endif
  295.  
  296. win32.obj:      win32/win32.c $(UNZIP_H) win32/nt.h
  297.         $(CC) -c $(UNFLAGS) win32/win32.c
  298.  
  299. win32i64.obj:   win32/win32i64.c $(UNZIP_H)
  300.         $(CC) -c $(UNFLAGS) win32/win32i64.c
  301.  
  302. nt.obj:         win32/nt.c $(UNZIP_H) win32/nt.h
  303.         $(CC) -c $(UNFLAGS) win32/nt.c
  304.  
  305. funzip.obj:     funzip.c $(UNZIP_H) crc32.h crypt.h ttyio.h
  306.         $(CC) -c $(FUFLAGS) -o$@ funzip.c
  307.  
  308. crc32f.obj:     crc32.c $(UNZIP_H) zip.h crc32.h
  309.         $(CC) -c $(FUFLAGS) -o$@ crc32.c
  310.  
  311. cryptf.obj:     crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
  312.         $(CC) -c $(FUFLAGS) -o$@ crypt.c
  313.  
  314. globalsf.obj:   globals.c $(UNZIP_H)
  315.         $(CC) -c $(FUFLAGS) -o$@ globals.c
  316.  
  317. inflatef.obj:   inflate.c inflate.h $(UNZIP_H) crypt.h
  318.         $(CC) -c $(FUFLAGS) -o$@ inflate.c
  319.  
  320. ttyiof.obj:     ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  321.         $(CC) -c $(FUFLAGS) -o$@ ttyio.c
  322.  
  323. win32f.obj:     win32/win32.c $(UNZIP_H) win32/nt.h
  324.         $(CC) -c $(FUFLAGS) -o$@ win32/win32.c
  325.  
  326. win32i64f.obj:  win32/win32i64.c $(UNZIP_H)
  327.         $(CC) -c $(FUFLAGS) -o$@ win32/win32i64.c
  328.  
  329. unzipsfx.obj:   unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h
  330.         $(CC) -c $(SXFLAGS) -o$@ unzip.c
  331.  
  332. crc32x.obj:     crc32.c $(UNZIP_H) zip.h crc32.h
  333.         $(CC) -c $(SXFLAGS) -o$@ crc32.c
  334.  
  335. cryptx.obj:     crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
  336.         $(CC) -c $(SXFLAGS) -o$@ crypt.c
  337.  
  338. extractx.obj:   extract.c $(UNZIP_H) crc32.h crypt.h
  339.         $(CC) -c $(SXFLAGS) -o$@ extract.c
  340.  
  341. fileiox.obj:    fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
  342.         $(CC) -c $(SXFLAGS) -o$@ fileio.c
  343.  
  344. globalsx.obj:   globals.c $(UNZIP_H)
  345.         $(CC) -c $(SXFLAGS) -o$@ globals.c
  346.  
  347. inflatex.obj:   inflate.c inflate.h $(UNZIP_H)
  348.         $(CC) -c $(SXFLAGS) -o$@ inflate.c
  349.  
  350. matchx.obj:     match.c $(UNZIP_H)
  351.         $(CC) -c $(SXFLAGS) -o$@ match.c
  352.  
  353. processx.obj:   process.c $(UNZIP_H) crc32.h
  354.         $(CC) -c $(SXFLAGS) -o$@ process.c
  355.  
  356. timezonx.obj:   timezone.c $(UNZIP_H) zip.h timezone.h
  357.         $(CC) -c $(SXFLAGS) -o$@ timezone.c
  358.  
  359. ttyiox.obj:     ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  360.         $(CC) -c $(SXFLAGS) -o$@ ttyio.c
  361.  
  362. ubz2errx.obj:   ubz2err.c $(UNZIP_H)
  363.         $(CC) -c $(SXFLAGS) -o$@ ubz2err.c
  364.  
  365. win32x.obj:     win32/win32.c $(UNZIP_H) win32/nt.h
  366.         $(CC) -c $(SXFLAGS) -o$@ win32/win32.c
  367.  
  368. win32i64x.obj:  win32/win32i64.c $(UNZIP_H)
  369.         $(CC) -c $(SXFLAGS) -o$@ win32/win32i64.c
  370.  
  371. ntx.obj:        win32/nt.c $(UNZIP_H) win32/nt.h
  372.         $(CC) -c $(SXFLAGS) -o$@ win32/nt.c
  373.  
  374. uzexampl.obj:   windll/uzexampl.c windll/uzexampl.h
  375.         $(CC) -c $(UNFLAGS) -I./windll -o$@ windll/uzexampl.c
  376.  
  377. winapp.res:     win32/winapp.rc unzvers.h
  378.         $(RC) /l 0x409 /fo$@ /i win32 /d WIN32 win32/winapp.rc
  379.  
  380. # DLL compilation section
  381. api.obj:        api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
  382.         $(CC) -c $(DLFLAGS) -o$@ api.c
  383.  
  384. crc32l.obj:     crc32.c $(UNZIP_H) zip.h crc32.h
  385.         $(CC) -c $(DLFLAGS) -o$@ crc32.c
  386.  
  387. cryptl.obj:     crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
  388.         $(CC) -c $(DLFLAGS) -o$@ crypt.c
  389.  
  390. explodel.obj:    explode.c $(UNZIP_H)
  391.         $(CC) -c $(DLFLAGS) -o$@ explode.c
  392.  
  393. extractl.obj:   extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h
  394.         $(CC) -c $(DLFLAGS) -o$@ extract.c
  395.  
  396. fileiol.obj:    fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h
  397.         $(CC) -c $(DLFLAGS) -o$@ fileio.c
  398.  
  399. globalsl.obj:   globals.c $(UNZIP_H)
  400.         $(CC) -c $(DLFLAGS) -o$@ globals.c
  401.  
  402. inflatel.obj:   inflate.c inflate.h $(UNZIP_H) crypt.h
  403.         $(CC) -c $(DLFLAGS) -o$@ inflate.c
  404.  
  405. listl.obj:      list.c $(UNZIP_H) $(WINDLL_H)
  406.         $(CC) -c $(DLFLAGS) -o$@ list.c
  407.  
  408. matchl.obj:     match.c $(UNZIP_H)
  409.         $(CC) -c $(DLFLAGS) -o$@ match.c
  410.  
  411. processl.obj:   process.c $(UNZIP_H) $(WINDLL_H) crc32.h
  412.         $(CC) -c $(DLFLAGS) -o$@ process.c
  413.  
  414. timezonl.obj:   timezone.c $(UNZIP_H) zip.h timezone.h
  415.         $(CC) -c $(DLFLAGS) -o$@ timezone.c
  416.  
  417. ubz2errl.obj:   ubz2err.c $(UNZIP_H)
  418.         $(CC) -c $(DLFLAGS) -o$@ ubz2err.c
  419.  
  420. unreducl.obj:   unreduce.c $(UNZIP_H)
  421.         $(CC) -c $(DLFLAGS) -o$@ unreduce.c
  422.  
  423. unshrnkl.obj:   unshrink.c $(UNZIP_H)
  424.         $(CC) -c $(DLFLAGS) -o$@ unshrink.c
  425.  
  426. zipinfol.obj:   zipinfo.c $(UNZIP_H)
  427.         $(CC) -c $(DLFLAGS) -o$@ zipinfo.c
  428.  
  429. win32l.obj:     win32/win32.c $(UNZIP_H) win32/nt.h
  430.         $(CC) -c $(DLFLAGS) -o$@ win32/win32.c
  431.  
  432. win32i64l.obj:  win32/win32i64.c $(UNZIP_H)
  433.         $(CC) -c $(DLFLAGS) -o$@ win32/win32i64.c
  434.  
  435. ntl.obj:        win32/nt.c $(UNZIP_H) win32/nt.h
  436.         $(CC) -c $(DLFLAGS) -o$@ win32/nt.c
  437.  
  438. windll.obj: windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
  439.         $(CC) -c $(DLFLAGS) -o$@ windll/windll.c
  440.  
  441. windll.res:     windll/windll.rc unzvers.h
  442.         $(RC) /l 0x409 /fo$@ /i windll /d WIN32 windll/windll.rc
  443.  
  444. # SFX Lib compilation section
  445. apig.obj:       api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
  446.         $(CC) -c $(SLFLAGS) -o$@ api.c
  447.  
  448. crc32g.obj:     crc32.c $(UNZIP_H) zip.h crc32.h
  449.         $(CC) -c $(SLFLAGS) -o$@ crc32.c
  450.  
  451. cryptg.obj:     crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
  452.         $(CC) -c $(SLFLAGS) -o$@ crypt.c
  453.  
  454. explodeg.obj:    explode.c $(UNZIP_H)
  455.         $(CC) -c $(SLFLAGS) -o$@ explode.c
  456.  
  457. extractg.obj:   extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h
  458.         $(CC) -c $(SLFLAGS) -o$@ extract.c
  459.  
  460. fileiog.obj:    fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h
  461.         $(CC) -c $(SLFLAGS) -o$@ fileio.c
  462.  
  463. globalsg.obj:   globals.c $(UNZIP_H)
  464.         $(CC) -c $(SLFLAGS) -o$@ globals.c
  465.  
  466. inflateg.obj:   inflate.c inflate.h $(UNZIP_H) crypt.h
  467.         $(CC) -c $(SLFLAGS) -o$@ inflate.c
  468.  
  469. matchg.obj:     match.c $(UNZIP_H)
  470.         $(CC) -c $(SLFLAGS) -o$@ match.c
  471.  
  472. processg.obj:   process.c $(UNZIP_H) $(WINDLL_H) crc32.h
  473.         $(CC) -c $(SLFLAGS) -o$@ process.c
  474.  
  475. timezong.obj:   timezone.c $(UNZIP_H) zip.h timezone.h
  476.         $(CC) -c $(SLFLAGS) -o$@ timezone.c
  477.  
  478. ubz2errg.obj:   ubz2err.c $(UNZIP_H)
  479.         $(CC) -c $(SLFLAGS) -o$@ ubz2err.c
  480.  
  481. win32g.obj:     win32/win32.c $(UNZIP_H) win32/nt.h
  482.         $(CC) -c $(SLFLAGS) -o$@ win32/win32.c
  483.  
  484. win32i64g.obj:  win32/win32i64.c $(UNZIP_H)
  485.         $(CC) -c $(SLFLAGS) -o$@ win32/win32i64.c
  486.  
  487. ntg.obj:        win32/nt.c $(UNZIP_H) win32/nt.h
  488.         $(CC) -c $(SLFLAGS) -o$@ win32/nt.c
  489.  
  490. windllg.obj: windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
  491.         $(CC) -c $(SLFLAGS) -o$@ windll/windll.c
  492.  
  493. sfxwiz.obj:     windll/guisfx/sfxwiz.c windll/guisfx/dialog.h $(WINDLL_IMP_H)
  494.         $(CC) -c $(GXFLAGS) -o$@ windll/guisfx/sfxwiz.c
  495.  
  496. sfxwiz.res:     windll/guisfx/sfxwiz.rc
  497.         $(RC) /l 0x409 /fo$@ /i windll/guisfx /d WIN32 windll/guisfx/sfxwiz.rc
  498.  
  499. # Static LIB compilation section
  500. $(OB)apib.obj:      api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
  501.         $(CC) -c $(LBFLAGS) -o$@ api.c
  502.  
  503. $(OB)crc32b.obj:    crc32.c $(UNZIP_H) zip.h crc32.h
  504.         $(CC) -c $(LBFLAGS) -o$@ crc32.c
  505.  
  506. $(OB)cryptb.obj:    crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
  507.         $(CC) -c $(LBFLAGS) -o$@ crypt.c
  508.  
  509. $(OB)explodeb.obj:  explode.c $(UNZIP_H)
  510.         $(CC) -c $(LBFLAGS) -o$@ explode.c
  511.  
  512. $(OB)extractb.obj:  extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h
  513.         $(CC) -c $(LBFLAGS) -o$@ extract.c
  514.  
  515. $(OB)fileiob.obj:   fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h
  516.         $(CC) -c $(LBFLAGS) -o$@ fileio.c
  517.  
  518. $(OB)globalsb.obj:  globals.c $(UNZIP_H)
  519.         $(CC) -c $(LBFLAGS) -o$@ globals.c
  520.  
  521. $(OB)inflateb.obj:  inflate.c inflate.h $(UNZIP_H) crypt.h
  522.         $(CC) -c $(LBFLAGS) -o$@ inflate.c
  523.  
  524. $(OB)listb.obj:     list.c $(UNZIP_H) $(WINDLL_H)
  525.         $(CC) -c $(LBFLAGS) -o$@ list.c
  526.  
  527. $(OB)matchb.obj:    match.c $(UNZIP_H)
  528.         $(CC) -c $(LBFLAGS) -o$@ match.c
  529.  
  530. $(OB)processb.obj:  process.c $(UNZIP_H) $(WINDLL_H) crc32.h
  531.         $(CC) -c $(LBFLAGS) -o$@ process.c
  532.  
  533. $(OB)timezonb.obj:  timezone.c $(UNZIP_H) zip.h timezone.h
  534.         $(CC) -c $(LBFLAGS) -o$@ timezone.c
  535.  
  536. $(OB)ubz2errb.obj:  ubz2err.c $(UNZIP_H)
  537.         $(CC) -c $(LBFLAGS) -o$@ ubz2err.c
  538.  
  539. $(OB)unreducb.obj:  unreduce.c $(UNZIP_H)
  540.         $(CC) -c $(LBFLAGS) -o$@ unreduce.c
  541.  
  542. $(OB)unshrnkb.obj:  unshrink.c $(UNZIP_H)
  543.         $(CC) -c $(LBFLAGS) -o$@ unshrink.c
  544.  
  545. $(OB)zipinfob.obj:  zipinfo.c $(UNZIP_H)
  546.         $(CC) -c $(LBFLAGS) -o$@ zipinfo.c
  547.  
  548. $(OB)win32b.obj:    win32/win32.c $(UNZIP_H) win32/nt.h
  549.         $(CC) -c $(LBFLAGS) -o$@ win32/win32.c
  550.  
  551. $(OB)win32i64b.obj: win32/win32i64.c $(UNZIP_H)
  552.         $(CC) -c $(LBFLAGS) -o$@ win32/win32i64.c
  553.  
  554. $(OB)ntb.obj:       win32/nt.c $(UNZIP_H) win32/nt.h
  555.         $(CC) -c $(LBFLAGS) -o$@ win32/nt.c
  556.  
  557. $(OB)windllb.obj: windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
  558.         $(CC) -c $(LBFLAGS) -o$@ windll/windll.c
  559.  
  560. $(OBDIR):
  561.         -mkdir $@
  562.