home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / unzip52.zip / os2 / makefile.os2 < prev    next >
Makefile  |  1996-04-28  |  17KB  |  605 lines

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