home *** CD-ROM | disk | FTP | other *** search
/ BURKS 2 / BURKS_AUG97.ISO / BURKS / SOFTWARE / SOURCES / UNZIP52.ZIP / os2 / makefile.os2 (.txt) < 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