makefile.os2
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:18k
源码类别:

压缩解压

开发平台:

MultiPlatform

  1. # Makefile for UnZip, UnZipSFX and fUnZip                     24 November 1998
  2. #
  3. #  supported compilers:
  4. #  - Microsoft C, version 6.00 or higher, for use under OS/2 1.x (16-bit)
  5. #  - Watcom C/C++, version 9.0+, for use under OS/2 1.x or 2.x+ (16/32-bit)
  6. #  - emx+gcc, version 0.9c or higher, for use under OS/2 2.x+ (32-bit)
  7. #  - IBM C Set++, for use under OS/2 2.x+ (32-bit)
  8. #  - Borland C++, for use under OS/2 2.x+ (32-bit)
  9. #  - Metaware High C/C++, for use under OS/2 2.x+ (32-bit)
  10. #
  11. #  supported cross-compilers:
  12. #  - Microsoft C, version 6.0 or 7.0, for use under DOS (16-bit)
  13. #  - Watcom C/C++, version 9.0+, for use under DOS/Win95/NT (16/32-bit)
  14. #  - GNU gcc (emx), version 0.9c or higher, for use under DOS/Win95/NT (32-bit)
  15. #
  16. #  supported assemblers:
  17. #  - Microsoft MASM 6.00 with Microsoft C
  18. #  - Watcom WASM with Watcom C/C++
  19. #  - GNU as with GNU gcc
  20. # To use MASM 5.x instead of MASM 6.00:
  21. #  - set AS="masm -t -Ml"
  22. #  - set ASEOL=";"
  23. # To use, enter "{d,n}make -f os2/makefile.os2" (this makefile depends on its
  24. # name being "makefile.os2", and it must be in the os2 subdirectory).
  25. # Notes on Microsoft C 6.00 compilation for OS/2:
  26. #
  27. #   The resulting programs can be used under OS/2 protected mode only, not
  28. #   under DOS.  A larger stack has to be used for OS/2 because system calls
  29. #   use more stack than under DOS; 8k is recommended by Microsoft.
  30. # Notes on IBM C Set++, Watcom C/C++, Borland C++ or emx+gcc compilation:
  31. #
  32. #   The resulting programs can be used under protected mode of OS/2 2.x or
  33. #   higher only, not under OS/2 1.x and not under DOS.
  34. #
  35. #   The NFLAGS macro is used to work around an optimization bug in the IBM
  36. #   C++ Set compiler; this is fixed by CSD #4, so NFLAGS="" can be used for
  37. #   all targets below.
  38. # Notes on Watcom C/C++ compilation for DOS with the PMODE/W extender:
  39. #
  40. #   You need to add the following section to your watcombinbwlsystem.lnk
  41. #   file and also need to copy pmodew.exe to the same directory:
  42. #
  43. #   system begin pmodew
  44. #       option osname='PMODE/W'
  45. #       libpath %WATCOM%lib386
  46. #       libpath %WATCOM%lib386dos
  47. #       op stub=pmodew.exe
  48. #       format os2 le
  49. #   end
  50. #
  51. #   PMODE/W 1.16 or higher is required.  See also msdos/README for important
  52. #   notes about PMODE/W bugs.
  53. default:
  54. @echo "Enter `$(MAKE) -f os2/makefile.os2 target' from the main"
  55. @echo "UnZip directory, where target is one of:"
  56. @echo "   msc mscdebug mscdos ibm ibmdyn ibmdebug ibmprof"
  57. @echo "   ibmdll ibmdyndll ibmdebugdll ibmprofdll"
  58. @echo "   metaware borland gcc gccdyn gccdebug gccdos gccwin32"
  59. @echo "   watcom watcom16 watcomdos watcom16dos pmodew watcomwin32"
  60. # MS C 6.00 for OS/2, 16-bit (should figure out way to split unzip/funzip
  61. # compiles so former is always large model and latter always small model...)
  62. msc:
  63. $(MAKE) -f os2/makefile.os2 all 
  64. CC="cl -nologo -AL -Ocegit -Gs -I. $(FP)" 
  65. CFLAGS="-G2 -Zp1 -W3 -DOS2 -DMSC -DASM_CRC $(LOCAL_UNZIP)" 
  66. NFLAGS="" 
  67. DLLFLAG="" 
  68. AS="ml -nologo -c -Zm -Cp" 
  69. ASFLAGS="-D__LARGE__ -D__286" 
  70. LDFLAGS="-F 2000 -Lp -Fe" 
  71. LDFLAGS2="-link /noe" 
  72. OUT="-Fo" 
  73. OBJ=".obj" 
  74. CRC32="crc_i86" 
  75. CRC32F="crc_i86" 
  76. CRC32X="crc_i86" 
  77. DEF="os2unzip.def"
  78. # MS C 6.00 for OS/2, debug version
  79. mscdebug:
  80. $(MAKE) -f os2/makefile.os2 all 
  81. CC="cl -nologo -AL -Zi -Od -I. $(FP)" 
  82. CFLAGS="-G2 -Zp1 -W3 -DOS2 -DMSC -DASM_CRC $(LOCAL_UNZIP)" 
  83. NFLAGS="" 
  84. DLLFLAG="" 
  85. AS="ml -nologo -c -Zim -Cp" 
  86. ASFLAGS="-D__LARGE__ -D__286" 
  87. LDFLAGS="-F 2000 -Lp -Fe" 
  88. LDFLAGS2="-link /noe" 
  89. OUT="-Fo" 
  90. OBJ=".obj" 
  91. CRC32="crc_i86" 
  92. CRC32F="crc_i86" 
  93. CRC32X="crc_i86" 
  94. DEF="os2unzip.def"
  95. # cross-compilation for MS-DOS with MS C 6.00 (same comment as above...formerly;
  96. # now unzip is medium model again, with [almost] all strings in far memory)
  97. mscdos:
  98. $(MAKE) -f os2/makefile.os2 all 
  99. CC="cl -nologo -AM -Oaict -Gs -I. $(FP)" 
  100. CFLAGS="-Zp1 -W3 -DASM_CRC $(LOCAL_UNZIP)" 
  101. NFLAGS="" 
  102. DLLFLAG="" 
  103. AS="ml -nologo -c -Zm -Cp" 
  104. ASFLAGS="-D__MEDIUM__" 
  105. LDFLAGS="-F 0C00 -Lr -Fe" 
  106. LDFLAGS2="-link /noe /exe" 
  107. OUT="-Fo" 
  108. OBJ=".obj" 
  109. CRC32="crc_i86" 
  110. CRC32F="crc_i86" 
  111. CRC32X="crc_i86" 
  112. OBJU2="msdos.obj" 
  113. OBJX2="msdos_.obj" 
  114. OSDEP_H="msdos/doscfg.h"
  115. # IBM C Set, statically linked runtime
  116. ibm:
  117. $(MAKE) -f os2/makefile.os2 all 
  118. CC="icc -Q -O -Gs -I." 
  119. CFLAGS="-Sm -Sp1 -DOS2 $(LOCAL_UNZIP)" 
  120. NFLAGS="" 
  121. DLLFLAG="" 
  122. LDFLAGS="-B/ST:0x50000 -Fe" 
  123. LDFLAGS2="" 
  124. OUT="-Fo" 
  125. OBJ=".obj" 
  126. DEF="os2unzip.def"
  127. # IBM C Set, dynamically linked runtime
  128. ibmdyn:
  129. $(MAKE) -f os2/makefile.os2 all 
  130. CC="icc -Q -O -Gs -Gd -I." 
  131. CFLAGS="-Sm -Sp1 -DOS2 $(LOCAL_UNZIP)" 
  132. NFLAGS="" 
  133. DLLFLAG="" 
  134. LDFLAGS="-B/ST:0x50000 -Fe" 
  135. LDFLAGS2="" 
  136. OUT="-Fo" 
  137. OBJ=".obj" 
  138. DEF="os2unzip.def"
  139. # IBM C Set, debug version
  140. ibmdebug:
  141. $(MAKE) -f os2/makefile.os2 all 
  142. CC="icc -Q -Ti -I." 
  143. CFLAGS="-Sm -Sp1 -D__DEBUG_ALLOC__ -DOS2 $(LOCAL_UNZIP)" 
  144. NFLAGS="" 
  145. DLLFLAG="" 
  146. LDFLAGS="-B/ST:0x50000 -Fe" 
  147. LDFLAGS2="" 
  148. OUT="-Fo" 
  149. OBJ=".obj" 
  150. DEF="os2unzip.def"
  151. # IBM C Set, profiling version for PROFIT
  152. ibmprof:
  153. $(MAKE) -f os2/makefile.os2 all 
  154. CC="icc -Q -O -Gs -Gh -Ti -I." 
  155. CFLAGS="-Sm -Sp1 -DOS2 $(LOCAL_UNZIP)" 
  156. NFLAGS="" 
  157. DLLFLAG="" 
  158. LDFLAGS="-B/ST:0x50000 -Fe" 
  159. LDFLAGS2="cppopa3.obj" 
  160. OUT="-Fo" 
  161. OBJ=".obj" 
  162. DEF="os2unzip.def"
  163. # IBM C Set, statically linked runtime
  164. ibmdll:
  165. $(MAKE) -f os2/makefile.os2 dll 
  166. CC="icc -Q -O -Gs -I." 
  167. CFLAGS="-Sm -Sp1 -DOS2 $(LOCAL_UNZIP)" 
  168. NFLAGS="" 
  169. DLLFLAG="-Gm -Ge- -DDLL -DOS2DLL -DAPI_DOC" 
  170. LDFLAGS="-Fe" 
  171. LDFLAGS2="" 
  172. OUT="-Fo" 
  173. OBJ=".obj" 
  174. DLLDEF="os2rexxapi.def" 
  175. STUBDEF="os2stub.def" 
  176. DEF="os2unzip.def" 
  177. APILIB="REXX.lib"
  178. # IBM C Set, dynamically linked runtime
  179. ibmdyndll:
  180. $(MAKE) -f os2/makefile.os2 dll 
  181. CC="icc -Q -O -Gs -Gd -I." 
  182. CFLAGS="-Sm -Sp1 -DOS2 $(LOCAL_UNZIP)" 
  183. NFLAGS="" 
  184. DLLFLAG="-Gm -Ge- -DDLL -DOS2DLL -DAPI_DOC" 
  185. LDFLAGS="-Fe" 
  186. LDFLAGS2="" 
  187. OUT="-Fo" 
  188. OBJ=".obj" 
  189. DLLDEF="os2rexxapi.def" 
  190. STUBDEF="os2stub.def" 
  191. DEF="os2unzip.def" 
  192. APILIB="REXX.lib"
  193. # IBM C Set, debug version
  194. ibmdebugdll:
  195. $(MAKE) -f os2/makefile.os2 dll 
  196. CC="icc -Q -Ti -I." 
  197. CFLAGS="-Sm -Sp1 -D__DEBUG_ALLOC__ -DOS2 $(LOCAL_UNZIP)" 
  198. NFLAGS="" 
  199. DLLFLAG="-Gm -Ge- -DDLL -DOS2DLL -DAPI_DOC" 
  200. LDFLAGS="-Fe" 
  201. LDFLAGS2="" 
  202. OUT="-Fo" 
  203. OBJ=".obj" 
  204. DLLDEF="os2rexxapi.def" 
  205. STUBDEF="os2stub.def" 
  206. DEF="os2unzip.def" 
  207. APILIB="REXX.lib"
  208. # IBM C Set, profiling version for PROFIT
  209. ibmprofdll:
  210. $(MAKE) -f os2/makefile.os2 dll 
  211. CC="icc -Q -O -Gs -Gh -Ti -I." 
  212. CFLAGS="-Gm -Sm -Sp1 -DOS2 $(LOCAL_UNZIP)" 
  213. NFLAGS="" 
  214. DLLFLAG="-Gm -Ge- -DDLL -DOS2DLL -DAPI_DOC" 
  215. LDFLAGS="-Fe" 
  216. LDFLAGS2="profit.obj" 
  217. OUT="-Fo" 
  218. OBJ=".obj" 
  219. DLLDEF="os2rexxapi.def" 
  220. STUBDEF="os2stub.def" 
  221. DEF="os2unzip.def" 
  222. APILIB="REXX.lib"
  223. # Watcom C/386 9.0 or higher
  224. watcom:
  225. $(MAKE) -f os2/makefile.os2 all 
  226. CC="wcl386 -bt=os2v2 -zq -Ox -s -I." 
  227. CFLAGS="-Zp1 -DOS2 -DASM_CRC $(LOCAL_UNZIP)" 
  228. NFLAGS="" 
  229. DLLFLAG="" 
  230. AS="wasm -bt=os2v2 -zq -3 -mf" 
  231. ASFLAGS="" 
  232. LDFLAGS="-k0x50000 -x -l=os2v2 -Fe=" 
  233. LDFLAGS2="" 
  234. OUT="-Fo" 
  235. OBJ=".obj" 
  236. CRC32="crc_i386" 
  237. CRC32F="crc_i386" 
  238. CRC32X="crc_i386" 
  239. DEF="" 
  240. DIRSEP="\" 
  241. AS_DIRSEP="\"
  242. # Watcom C/286 9.0 or higher
  243. watcom16:
  244. $(MAKE) -f os2/makefile.os2 all 
  245. CC="wcl -bt=os2 -zq -ml -Ox -s -I." 
  246. CFLAGS="-Zp1 -DOS2 $(LOCAL_UNZIP)" 
  247. NFLAGS="" 
  248. DLLFLAG="" 
  249. AS="wasm -bt=os2 -zq -2 -ml" 
  250. ASFLAGS="" 
  251. LDFLAGS="-k0x2000 -x -l=os2 -Fe=" 
  252. LDFLAGS2="" 
  253. OUT="-Fo" 
  254. OBJ=".obj" 
  255. CRC32="crc_i86" 
  256. CRC32F="crc_i86" 
  257. CRC32X="crc_i86" 
  258. DIRSEP="\" 
  259. AS_DIRSEP="\"
  260. # Watcom C/386 9.0 or higher, crosscompilation for DOS, DOS4GW extender
  261. watcomdos:
  262. $(MAKE) -f os2/makefile.os2 all 
  263. CC="wcl386 -bt=dos4g -zq -Ox -s -I." 
  264. CFLAGS="-Zp1 -DMSDOS -DASM_CRC $(LOCAL_UNZIP)" 
  265. NFLAGS="" 
  266. DLLFLAG="" 
  267. AS="wasm -bt=dos4g -zq -3 -mf" 
  268. ASFLAGS="" 
  269. LDFLAGS="-k0x50000 -x -l=dos4g -Fe=" 
  270. LDFLAGS2="" 
  271. OUT="-Fo" 
  272. OBJ=".obj" 
  273. CRC32="crc_i386" 
  274. CRC32F="crc_i386" 
  275. CRC32X="crc_i386" 
  276. OBJU2="msdos.obj" 
  277. OBJX2="msdos_.obj" 
  278. OSDEP_H="msdos/doscfg.h" 
  279. DIRSEP="\" 
  280. AS_DIRSEP="\"
  281. # Watcom C/386 9.0 or higher, crosscompilation for DOS, PMODE/W extender
  282. pmodew:
  283. $(MAKE) -f os2/makefile.os2 all 
  284. CC="wcl386 -bt=dos4g -zq -Ox -s -I." 
  285. CFLAGS="-Zp1 -DMSDOS -DASM_CRC $(LOCAL_UNZIP)" 
  286. NFLAGS="" 
  287. DLLFLAG="" 
  288. AS="wasm -bt=dos4g -zq -3 -mf" 
  289. ASFLAGS="" 
  290. LDFLAGS="-k0x50000 -x -l=pmodew -Fe=" 
  291. LDFLAGS2="" 
  292. OUT="-Fo" 
  293. OBJ=".obj" 
  294. CRC32="crc_i386" 
  295. CRC32F="crc_i386" 
  296. CRC32X="crc_i386" 
  297. OBJU2="msdos.obj" 
  298. OBJX2="msdos_.obj" 
  299. OSDEP_H="msdos/doscfg.h" 
  300. DIRSEP="\" 
  301. AS_DIRSEP="\"
  302. # Watcom C/286 9.0 or higher, crosscompilation for DOS
  303. watcom16dos:
  304. $(MAKE) -f os2/makefile.os2 all 
  305. CC="wcl -bt=dos -zq -ml -Ox -s -I." 
  306. CFLAGS="-Zp1 -DMSDOS $(LOCAL_UNZIP)" 
  307. NFLAGS="" 
  308. DLLFLAG="" 
  309. AS="wasm -bt=dos -0 -mm" 
  310. ASFLAGS="-D__MEDIUM__" 
  311. LDFLAGS="-k0xC00 -x -l=dos -Fe=" 
  312. LDFLAGS2="" 
  313. OUT="-Fo" 
  314. OBJ=".obj" 
  315. OBJU2="msdos.obj" 
  316. OBJX2="msdos_.obj" 
  317. OSDEP_H="msdos/doscfg.h" 
  318. DIRSEP="\" 
  319. AS_DIRSEP="\"
  320. # Watcom C/386 9.0 or higher, crosscompilation for Win95/NT
  321. watcomwin32:
  322. $(MAKE) -f os2/makefile.os2 all 
  323. CC="wcl386 -bt=NT -zq -Ox -s -I." 
  324. CFLAGS="-Zp1 -DWIN32 -DASM_CRC $(LOCAL_UNZIP)" 
  325. NFLAGS="" 
  326. DLLFLAG="" 
  327. AS="wasm -bt=NT -zq -3 -mf" 
  328. ASFLAGS="" 
  329. LDFLAGS="-k0x50000 -x -l=NT -Fe=" 
  330. LDFLAGS2="" 
  331. OUT="-Fo" 
  332. OBJ=".obj" 
  333. OBJU2="win32.obj nt.obj" 
  334. OBJX2="win32_.obj nt_.obj" 
  335. CRC32="crc_i386" 
  336. CRC32F="crc_i386" 
  337. CRC32X="crc_i386" 
  338. DEF="" 
  339. DIRSEP="\" 
  340. AS_DIRSEP="\"
  341. # MetaWare High C/C++ 3.2
  342. metaware:
  343. $(MAKE) -f os2/makefile.os2 all 
  344. CC="hc -O2 -I." 
  345. CFLAGS="-D__32BIT__ -DOS2 $(LOCAL_UNZIP)" 
  346. NFLAGS="" 
  347. DLLFLAG="" 
  348. LDFLAGS="-o " 
  349. LDFLAGS2="" 
  350. OUT="-o ./" 
  351. OBJ=".obj" 
  352. DEF="-Hdef=os2unzip.def"
  353. # Borland C++
  354. borland:
  355. $(MAKE) -f os2/makefile.os2 all 
  356. CC="bcc -O -I. -Ios2" 
  357. CFLAGS="-w- -D__cdecl -D__32BIT__ -DOS2 $(LOCAL_UNZIP)" 
  358. NFLAGS="" 
  359. DLLFLAG="" 
  360. LDFLAGS="-e" 
  361. LDFLAGS2="" 
  362. OUT="-o" 
  363. OBJ=".obj" 
  364. DEF="-sDos2unzip.def"
  365. # emx, gcc, OMF format, statically linked C runtime
  366. gcc:
  367. $(MAKE) -f os2/makefile.os2 all 
  368. CC="gcc -Zomf -O -I." 
  369. CFLAGS="-Wall -DOS2 -DASM_CRC $(LOCAL_UNZIP)" 
  370. NFLAGS="" 
  371. DLLFLAG="" 
  372. AS="gcc -Zomf" 
  373. ASFLAGS="-Di386" 
  374. LDFLAGS="-o ./" 
  375. LDFLAGS2="-Zsmall-conv -Zstack 320 -Zsys -s" 
  376. OUT="-o" 
  377. OBJ=".obj" 
  378. CRC32="crc_gcc" 
  379. CRC32F="crc_gcc" 
  380. CRC32X="crc_gcc" 
  381. DEF="os2/unzip.def"
  382. # emx, gcc, OMF format, dynamically linked C runtime
  383. gccdyn:
  384. $(MAKE) -f os2/makefile.os2 all 
  385. CC="gcc -Zomf -O -I." 
  386. CFLAGS="-Wall -DOS2 -DASM_CRC $(LOCAL_UNZIP)" 
  387. NFLAGS="" 
  388. DLLFLAG="" 
  389. AS="gcc -Zomf" 
  390. ASFLAGS="-Di386" 
  391. LDFLAGS="-o ./" 
  392. LDFLAGS2="-Zstack 320 -Zcrtdll -s" 
  393. OUT="-o" 
  394. OBJ=".obj" 
  395. CRC32="crc_gcc" 
  396. CRC32F="crc_gcc" 
  397. CRC32X="crc_gcc" 
  398. DEF="os2/unzip.def"
  399. # emx, gcc, a.out format, with debug info for gdb
  400. gccdebug:
  401. $(MAKE) -f os2/makefile.os2 all 
  402. CC="gcc -g -I." 
  403. CFLAGS="-Wall -DOS2 -DASM_CRC $(LOCAL_UNZIP)" 
  404. NFLAGS="" 
  405. DLLFLAG="" 
  406. AS="gcc -g" 
  407. ASFLAGS="-Di386" 
  408. LDFLAGS="-o ./" 
  409. LDFLAGS2="-Zsmall-conv" 
  410. OUT="-o" 
  411. OBJ=".o" 
  412. CRC32="crc_gcc" 
  413. CRC32F="crc_gcc" 
  414. CRC32X="crc_gcc"
  415. # emx, gcc, a.out format, cross-compilation for MS-DOS
  416. gccdos:
  417. $(MAKE) -f os2/makefile.os2 all 
  418. CC="gcc -O -I." 
  419. CFLAGS="-Wall -DMSDOS -DASM_CRC $(LOCAL_UNZIP)" 
  420. NFLAGS="" 
  421. DLLFLAG="" 
  422. AS="gcc" 
  423. ASFLAGS="-Di386" 
  424. LDFLAGS="-o ./" 
  425. LDFLAGS2="-Zsmall-conv -s" 
  426. OUT="-o" 
  427. OBJ=".o" 
  428. CRC32="crc_gcc" 
  429. CRC32F="crc_gcc" 
  430. CRC32X="crc_gcc" 
  431. OBJU2="msdos.o" 
  432. OBJX2="msdos_.o" 
  433. OSDEP_H="msdos/doscfg.h"
  434. # emx, gcc, RSXNT, cross-compilation for Win32, statically linked C runtime
  435. gccwin32:
  436. $(MAKE) -f os2/makefile.os2 all 
  437. CC="gcc -Zwin32 -O2 -I." 
  438. CFLAGS="-Wall -DWIN32 -DASM_CRC $(LOCAL_UNZIP)" 
  439. NFLAGS="" 
  440. DLLFLAG="" 
  441. AS="gcc" 
  442. ASFLAGS="-Di386" 
  443. LDFLAGS="-Zsys -o ./" 
  444. LDFLAGS2="-ladvapi32 -Zsmall-conv -s" 
  445. OUT="-o" 
  446. OBJ=".o" 
  447. CRC32="crc_gcc" 
  448. CRC32F="crc_gcc" 
  449. CRC32X="crc_gcc" 
  450. OBJU2="win32.o nt.o" 
  451. OBJX2="win32_.o nt_.o" 
  452. OBJF2="win32f.o" 
  453. OSDEP_H="win32/w32cfg.h"
  454. # variables
  455. # LOCAL_UNZIP = -DREENTRANT
  456. # default settings for target dependent macros:
  457. DIRSEP = /
  458. AS_DIRSEP = /
  459. OSDEP_H = os2/os2data.h os2/os2cfg.h
  460. CRC32   = crc32
  461. CRC32F  = crc32f
  462. CRC32X  = crc32_
  463. OBJU  = unzip$(OBJ) $(CRC32)$(OBJ) crctab$(OBJ) crypt$(OBJ) envargs$(OBJ) 
  464. explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ) 
  465. inflate$(OBJ) list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ) 
  466. unreduce$(OBJ) unshrink$(OBJ) zipinfo$(OBJ)
  467. OBJU2 = os2$(OBJ) os2acl$(OBJ)
  468. OBJX  = unzipsf_$(OBJ) $(CRC32X)$(OBJ) crctab_$(OBJ) crypt_$(OBJ) 
  469.         extract_$(OBJ) fileio_$(OBJ) globals_$(OBJ) inflate_$(OBJ) 
  470. match_$(OBJ) process_$(OBJ) ttyio_$(OBJ)
  471. OBJX2 = os2_$(OBJ) os2acl_$(OBJ)
  472. OBJDLL= api$(OBJ) apihelp$(OBJ) rexxhelp$(OBJ) rexxapi$(OBJ)
  473. OBJF  = funzip$(OBJ) $(CRC32F)$(OBJ) cryptf$(OBJ) inflatef$(OBJ) 
  474. globalsf$(OBJ) ttyiof$(OBJ)
  475. OBJF2 =
  476. UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)
  477. # rules
  478. .SUFFIXES: .c .asm $(OBJ)
  479. .c$(OBJ):
  480. $(CC) -c $(CFLAGS) $(DLLFLAG) $<
  481. .asm$(OBJ):
  482. $(AS) $(ASFLAGS) $< $(ASEOL)
  483. # targets
  484. all: unzip.exe funzip.exe unzipsfx.exe
  485. dll: unzip32.dll unzip.stb funzip.exe unzipsfx.exe
  486. unzip.exe: $(OBJU) $(OBJU2)
  487. $(CC) $(LDFLAGS)$@ $(DEF) $(OBJU) $(OBJU2) $(LDFLAGS2)
  488. funzip.exe: $(OBJF) $(OBJF2)
  489. $(CC) $(LDFLAGS)$@ $(DEF) $(OBJF) $(OBJF2) $(LDFLAGS2)
  490. unzipsfx.exe: $(OBJX) $(OBJX2)
  491. $(CC) $(LDFLAGS)$@ $(DEF) $(OBJX) $(OBJX2) $(LDFLAGS2)
  492. unzip32.dll: $(DLLDEF) $(OBJU) $(OBJU2) $(OBJDLL)
  493. $(CC) $(DLLFLAG) $(LDFLAGS)$@ $(DLLDEF) $(OBJU) $(OBJDLL) $(OBJU2) $(APILIB) $(LDFLAGS2)
  494. unzip.stb: unzipstb$(OBJ) $(STUBDEF)
  495. $(CC) $(LDFLAGS)$@ $(STUBDEF) unzipstb$(OBJ) $(LDFLAGS2)
  496. copy unzip.stb unzip.exe
  497. # dependencies
  498. apihelp$(OBJ): apihelp.c $(UNZIP_H) version.h
  499. crc32$(OBJ): crc32.c $(UNZIP_H) zip.h
  500. crctab$(OBJ): crctab.c $(UNZIP_H) zip.h
  501. envargs$(OBJ): envargs.c $(UNZIP_H)
  502. explode$(OBJ): explode.c $(UNZIP_H)
  503. extract$(OBJ): extract.c $(UNZIP_H) crypt.h
  504. fileio$(OBJ): fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
  505. globals$(OBJ): globals.c $(UNZIP_H)
  506. inflate$(OBJ): inflate.c $(UNZIP_H)
  507. list$(OBJ): list.c $(UNZIP_H)
  508. match$(OBJ): match.c $(UNZIP_H)
  509. process$(OBJ): process.c $(UNZIP_H)
  510. ttyio$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  511. unreduce$(OBJ): unreduce.c $(UNZIP_H)
  512. unshrink$(OBJ): unshrink.c $(UNZIP_H)
  513. unzip$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.h
  514. api$(OBJ): api.c $(UNZIP_H) version.h
  515. zipinfo$(OBJ): zipinfo.c $(UNZIP_H)
  516. funzip$(OBJ): funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h # funzip only
  517. $(CC) -c $(CFLAGS) funzip.c
  518. unzipstb$(OBJ): unzipstb.c # DLL version
  519. $(CC) -c $(CFLAGS) unzipstb.c
  520. msdos$(OBJ): msdos/msdos.c $(UNZIP_H) version.h # DOS only
  521. $(CC) -c $(CFLAGS) msdos$(DIRSEP)msdos.c
  522. msdos_$(OBJ): msdos/msdos.c $(UNZIP_H) # DOS unzipsfx
  523. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ msdos$(DIRSEP)msdos.c
  524. win32$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h version.h # Win32 only
  525. $(CC) -c $(CFLAGS) win32$(DIRSEP)win32.c
  526. nt$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h # Win32 only
  527. $(CC) -c $(CFLAGS) win32$(DIRSEP)nt.c
  528. win32_$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h # Win32 unzipsfx
  529. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ win32$(DIRSEP)win32.c
  530. nt_$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h # Win32 unzipsfx
  531. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ win32$(DIRSEP)nt.c
  532. win32f$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h # Win32 funzip
  533. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ win32$(DIRSEP)win32.c
  534. os2$(OBJ): os2/os2.c $(UNZIP_H) version.h # OS/2 only
  535. $(CC) -c $(CFLAGS) $(DLLFLAG) os2$(DIRSEP)os2.c
  536. os2_$(OBJ): os2/os2.c $(UNZIP_H) # OS/2 unzipsfx
  537. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ os2$(DIRSEP)os2.c
  538. os2acl$(OBJ): os2/os2acl.c $(UNZIP_H) version.h # OS/2 only
  539. $(CC) -c $(CFLAGS) $(DLLFLAG) os2$(DIRSEP)os2acl.c
  540. os2acl_$(OBJ): os2/os2acl.c $(UNZIP_H) version.h # OS/2 unzipsfx
  541. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ os2$(DIRSEP)os2acl.c
  542. rexxhelp$(OBJ): os2/rexxhelp.c # OS/2 DLL only
  543. $(CC) -c $(CFLAGS) $(DLLFLAG) os2$(DIRSEP)rexxhelp.c
  544. rexxapi$(OBJ): os2/rexxapi.c # OS/2 DLL only
  545. $(CC) -c $(CFLAGS) $(DLLFLAG) os2$(DIRSEP)rexxapi.c
  546. crc_i86$(OBJ): msdos/crc_i86.asm # 16bit only
  547. $(AS) $(ASFLAGS) msdos$(AS_DIRSEP)crc_i86.asm $(ASEOL)
  548. crc_i386$(OBJ): win32/crc_i386.asm # 32bit, MASM
  549. $(AS) $(ASFLAGS) win32$(AS_DIRSEP)crc_i386.asm $(ASEOL)
  550. crc_gcc$(OBJ): crc_i386.S # 32bit, GNU AS
  551. $(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S
  552. # NFLAGS are solely used as work-around for optimization bug in IBM C++ Set
  553. crypt$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
  554. $(CC) -c $(CFLAGS) $(DLLFLAG) $(NFLAGS) crypt.c
  555. cryptf$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  556. $(CC) -c $(CFLAGS) $(NFLAGS) -DFUNZIP $(OUT)$@ crypt.c
  557. crc32f$(OBJ): crc32.c $(UNZIP_H) zip.h # funzip only
  558. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ crc32.c
  559. globalsf$(OBJ): globals.c $(UNZIP_H) # funzip only
  560. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ globals.c
  561. inflatef$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # funzip only
  562. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ inflate.c
  563. ttyiof$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  564. $(CC) -c $(CFLAGS) $(NFLAGS) -DFUNZIP $(OUT)$@ ttyio.c
  565. crc32_$(OBJ): crc32.c $(UNZIP_H) zip.h # unzipsfx only
  566. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crc32.c
  567. crctab_$(OBJ): crctab.c $(UNZIP_H) zip.h # unzipsfx only
  568. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crctab.c
  569. crypt_$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only
  570. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crypt.c
  571. extract_$(OBJ): extract.c $(UNZIP_H) crypt.h # unzipsfx only
  572. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ extract.c
  573. fileio_$(OBJ): fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h # unzipsfx only
  574. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ fileio.c
  575. globals_$(OBJ): globals.c $(UNZIP_H) # unzipsfx only
  576. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ globals.c
  577. inflate_$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # unzipsfx only
  578. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ inflate.c
  579. match_$(OBJ): match.c $(UNZIP_H) # unzipsfx only
  580. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ match.c
  581. process_$(OBJ): process.c $(UNZIP_H) # unzipsfx only
  582. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ process.c
  583. ttyio_$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only
  584. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ ttyio.c
  585. unzipsf_$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.h # unzipsfx only
  586. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ unzip.c