home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / unzip531.zip / vms / descrip.mms < prev    next >
Text File  |  1996-02-11  |  10KB  |  343 lines

  1. !==========================================================================
  2. ! MMS description file for UnZip/UnZipSFX 5.20 or later           11 Feb 96
  3. !==========================================================================
  4. !
  5. ! To build UnZip that uses shared libraries, edit the USER CUSTOMIZATION
  6. ! lines below to taste, then do
  7. !    mms
  8. ! or
  9. !    mmk
  10. ! if you use Matt's Make (free MMS-compatible make utility).
  11. !
  12. ! (One-time users will find it easier to use the MAKE_UNZ.COM command file,
  13. ! which generates both UnZip and UnZipSFX.  Just type "@[.VMS]MAKE_UNZ", or
  14. ! "@[.VMS]MAKE_UNZ GCC" if you want to use GNU C.)
  15.  
  16. ! Only when you try to build the default target
  17. !   "all executables (linked against shareable images), and help file"
  18. ! you can simply type "mmk" or "mms".
  19. ! (You have to copy the description file to your working directory for MMS,
  20. ! with MMK you can alternatively use the /DESCR=[.VMS] qualifier.
  21. !
  22. ! In all other cases where you want to explicitely specify a makefile target,
  23. ! you have to specify your compiling environment, too. These are:
  24. !
  25. !    $ MMS/MACRO=(__ALPHA__=1)        ! Alpha AXP, (DEC C)
  26. !    $ MMS/MACRO=(__DECC__=1)        ! VAX, using DEC C
  27. !    $ MMS/MACRO=(__FORCE_VAXC__=1)        ! VAX, prefering VAXC over DECC
  28. !    $ MMS/MACRO=(__VAXC__=1)        ! VAX, where VAXC is default
  29. !    $ MMS/MACRO=(__GNUC__=1)        ! VAX, using GNU C
  30. !
  31.  
  32. ! To build UnZip without shared libraries,
  33. !    mms noshare
  34.  
  35. ! To delete all .OBJ, .OLB, .EXE and .HLP files,
  36. !    mms clean
  37.  
  38. DO_THE_BUILD :
  39.     @ decc = f$search("SYS$SYSTEM:DECC$COMPILER.EXE").nes.""
  40.     @ axp = f$getsyi("HW_MODEL").ge.1024
  41.     @ macro = "/MACRO=("
  42.     @ if decc then macro = macro + "__DECC__=1,"
  43.     @ if axp then macro = macro + "__ALPHA__=1,"
  44.     @ if .not.(axp.or.decc) then macro = macro + "__VAXC__=1,"
  45.     @ macro = f$extract(0,f$length(macro)-1,macro)+ ")"
  46.     $(MMS)$(MMSQUALIFIERS)'macro' default
  47.  
  48. .IFDEF __ALPHA__
  49. E = .AXP_EXE
  50. O = .AXP_OBJ
  51. A = .AXP_OLB
  52. .ELSE
  53. .IFDEF __DECC__
  54. E = .VAX_DECC_EXE
  55. O = .VAX_DECC_OBJ
  56. A = .VAX_DECC_OLB
  57. .ENDIF
  58. .IFDEF __FORCE_VAXC__
  59. __VAXC__ = 1
  60. .ENDIF
  61. .IFDEF __VAXC__
  62. E = .VAX_VAXC_EXE
  63. O = .VAX_VAXC_OBJ
  64. A = .VAX_VAXC_OLB
  65. .ENDIF
  66. .IFDEF __GNUC__
  67. E = .VAX_GNUC_EXE
  68. O = .VAX_GNUC_OBJ
  69. A = .VAX_GNUC_OLB
  70. .ENDIF
  71. .ENDIF
  72.  
  73. .IFDEF O
  74. .ELSE
  75. !If EXE and OBJ extentions aren't defined, define them
  76. E = .EXE
  77. O = .OBJ
  78. A = .OLB
  79. .ENDIF
  80.  
  81. !!!!!!!!!!!!!!!!!!!!!!!!!!! USER CUSTOMIZATION !!!!!!!!!!!!!!!!!!!!!!!!!!!!
  82. ! uncomment the following line if you want the VMS CLI$ interface:
  83. !VMSCLI = VMSCLI,
  84.  
  85. ! add VMSWILD, RETURN_CODES, and/or any other optional
  86. ! macros (except VMSCLI, above) to the following line for a custom version:
  87. COMMON_DEFS =
  88. !!!!!!!!!!!!!!!!!!!!!!!! END OF USER CUSTOMIZATION !!!!!!!!!!!!!!!!!!!!!!!!
  89.  
  90. .IFDEF __GNUC__
  91. CC = gcc
  92. LIBS = ,GNU_CC:[000000]GCCLIB.OLB/LIB
  93. .ELSE
  94. CC = cc
  95. LIBS =
  96. .ENDIF
  97.  
  98. CFLAGS = /NOLIST/INCL=(SYS$DISK:[])
  99.  
  100. OPTFILE = [.vms]vaxcshr.opt
  101.  
  102. .IFDEF __ALPHA__
  103. CC_OPTIONS = /STANDARD=VAXC/PREFIX=ALL/ANSI
  104. CC_DEFS = MODERN,
  105. OPTFILE_LIST =
  106. OPTIONS = $(LIBS)
  107. NOSHARE_OPTS = $(LIBS)/NOSYSSHR
  108. .ELSE
  109. .IFDEF __DECC__
  110. CC_OPTIONS = /DECC/STANDARD=VAXC/PREFIX=ALL
  111. CC_DEFS = MODERN,
  112. OPTFILE_LIST =
  113. OPTIONS = $(LIBS)
  114. NOSHARE_OPTS = $(LIBS),SYS$LIBRARY:DECCRTL.OLB/LIB/INCL=(CMA$TIS)/NOSYSSHR
  115. .ELSE
  116. .IFDEF __FORCE_VAXC__        !Select VAXC on systems where DEC C exists
  117. CC_OPTIONS = /VAXC
  118. .ELSE                !No flag allowed/needed on a pure VAXC system
  119. CC_OPTIONS =
  120. .ENDIF
  121. CC_DEFS =
  122. OPTFILE_LIST = ,$(OPTFILE)
  123. OPTIONS = $(LIBS),$(OPTFILE)/OPTIONS
  124. NOSHARE_OPTS = $(LIBS),SYS$LIBRARY:VAXCRTL.OLB/LIB/NOSYSSHR
  125. .ENDIF
  126. .ENDIF
  127.  
  128. .IFDEF __DEBUG__
  129. CDEB = /DEBUG/NOOPTIMIZE
  130. LDEB = /DEBUG
  131. .ELSE
  132. CDEB =
  133. LDEB = /NOTRACE
  134. .ENDIF
  135.  
  136. CFLAGS_SFX  = $(CC_OPTIONS) $(CFLAGS) $(CDEB) -
  137.               /def=($(CC_DEFS) $(COMMON_DEFS) $(VMSCLI) SFX, VMS)
  138. CFLAGS_ALL  = $(CC_OPTIONS) $(CFLAGS) $(CDEB) -
  139.               /def=($(CC_DEFS) $(COMMON_DEFS) $(VMSCLI) VMS)
  140.  
  141. LINKFLAGS   = $(LDEB)
  142.  
  143.  
  144. COMMON_OBJS1 =    unzip$(O),crc32$(O),crctab$(O),crypt$(O),envargs$(O),-
  145.         explode$(O),extract$(O),fileio$(O),globals$(O)
  146. COMMON_OBJS2 =    inflate$(O),list$(O),match$(O),process$(O),ttyio$(O),-
  147.         unreduce$(O),unshrink$(O),zipinfo$(O),-
  148.         vms$(O)
  149. COMMON_OBJS =    $(COMMON_OBJS1),$(COMMON_OBJS2)
  150.  
  151. COMMON_OBJX1 =    UNZIP=unzipsfx$(O),-
  152.         crc32$(O),crctab$(O),crypt$(O),-
  153.         EXTRACT=extract_$(O),-
  154.         fileio$(O),globals$(O)
  155. COMMON_OBJX2 =    inflate$(O),match$(O),-
  156.         PROCESS=process_$(O),-
  157.         ttyio$(O),-
  158.         VMS=vms_$(O)
  159. COMMON_OBJX =    $(COMMON_OBJX1),$(COMMON_OBJX2)
  160.  
  161. .IFDEF VMSCLI
  162. CLI_OBJS = VMS_UNZIP_CLD=unz_cli$(O),-
  163.     VMS_UNZIP_CMDLINE=cmdline$(O)
  164. OBJS =    $(COMMON_OBJS),$(CLI_OBJS)
  165. CLI_OBJX = VMS_UNZIP_CLD=unz_cli$(O),-
  166.     VMS_UNZIP_CMDLINE=cmdline_$(O)
  167. OBJX =    $(COMMON_OBJX),$(CLI_OBJX)
  168. .ELSE
  169. CLI_OBJS =
  170. OBJS =    $(COMMON_OBJS)
  171. OBJX =    $(COMMON_OBJX)
  172. .ENDIF
  173.  
  174. UNZIP_H = unzip.h unzpriv.h globals.h
  175.  
  176. !!!!!!!!!!!!!!!!!!! override default rules: !!!!!!!!!!!!!!!!!!!
  177. .suffixes :
  178. .suffixes : .ANL $(E) $(A) .MLB .HLB .TLB .FLB $(O) -
  179.         .FORM .BLI .B32 .C .COB -
  180.         .FOR .BAS .B16 .PLI .PEN .PAS .MAC .MAR .M64 .CLD .MSG .COR .DBL -
  181.         .RPG .SCN .IFDL .RBA .RC .RCO .RFO .RPA .SC .SCO .SFO .SPA .SPL -
  182.         .SQLADA .SQLMOD .RGK .RGC .MEM .RNO .HLP .RNH .L32 .REQ .R32 -
  183.         .L16 .R16 .TXT .H .FRM .MMS .DDL .COM .DAT .OPT .CDO .SDML .ADF -
  184.         .GDF .LDF .MDF .RDF .TDF
  185.  
  186. $(O)$(E) :
  187.     $(LINK) $(LINKFLAGS) /EXE=$(MMS$TARGET) $(MMS$SOURCE)
  188.  
  189. $(O)$(A) :
  190.     If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create $(MMS$TARGET)
  191.     $(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)
  192.  
  193. .CLD$(O) :
  194.     SET COMMAND /OBJECT=$(MMS$TARGET) $(CLDFLAGS) $(MMS$SOURCE)
  195.  
  196. .C$(O) :
  197.     $(CC) $(CFLAGS_ALL) /OBJ=$(MMS$TARGET) $(MMS$SOURCE)
  198.  
  199. !!!!!!!!!!!!!!!!!! here starts the unzip specific part !!!!!!!!!!!
  200.  
  201. default    :       unzip$(E) unzipsfx$(E) unzip.hlp
  202.     @    !    Do nothing.
  203.  
  204. noshare :    unzip_noshare$(E) unzipsfx_noshare$(E) unzip.hlp
  205.     @    !    Do nothing.
  206.  
  207. unzip$(E) :    UNZIP$(A)($(OBJS))$(OPTFILE_LIST)
  208.     $(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
  209.     UNZIP$(A)/INCLUDE=UNZIP/LIBRARY$(OPTIONS), -
  210.     [.vms]unzip.opt/OPT
  211.  
  212. unzipsfx$(E) :    UNZIPSFX$(A)($(OBJX))$(OPTFILE_LIST)
  213.     $(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
  214.     UNZIPSFX$(A)/INCLUDE=UNZIP/LIBRARY$(OPTIONS), -
  215.     [.vms]unzipsfx.opt/OPT
  216.  
  217. unzip_noshare$(E) :    UNZIP$(A)($(OBJS))
  218.     $(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
  219.     UNZIP$(A)/INCLUDE=UNZIP/LIBRARY$(NOSHARE_OPTS), -
  220.     sys$disk:[.vms]unzip.opt/OPT
  221.  
  222. unzipsfx_noshare$(E) :    UNZIPSFX$(A)($(OBJX))
  223.     $(LINK)$(LINKFLAGS) /EXE=$(MMS$TARGET) -
  224.     UNZIPSFX$(A)/INCLUDE=UNZIP/LIBRARY$(NOSHARE_OPTS), -
  225.     sys$disk:[.vms]unzipsfx.opt/OPT
  226.  
  227. $(OPTFILE) :
  228.     @ open/write tmp $(MMS$TARGET)
  229.     @ write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE"
  230.     @ close tmp
  231.  
  232. clean.com :
  233.     @ open/write tmp $(MMS$TARGET)
  234.     @ write tmp "$!"
  235.     @ write tmp "$!    Clean.com --    procedure to delete files. It always returns success"
  236.     @ write tmp "$!            status despite any error or warnings. Also it extracts"
  237.     @ write tmp "$!            filename from MMS ""module=file"" format."
  238.     @ write tmp "$!"
  239.     @ write tmp "$ on control_y then goto ctly"
  240.     @ write tmp "$ if p1.eqs."""" then exit 1"
  241.     @ write tmp "$ i = -1"
  242.     @ write tmp "$scan_list:"
  243.     @ write tmp "$    i = i+1"
  244.     @ write tmp "$    item = f$elem(i,"","",p1)"
  245.     @ write tmp "$    if item.eqs."""" then goto scan_list"
  246.     @ write tmp "$    if item.eqs."","" then goto done        ! End of list"
  247.     @ write tmp "$    item = f$edit(item,""trim"")        ! Clean of blanks"
  248.     @ write tmp "$    wild = f$elem(1,""="",item)"
  249.     @ write tmp "$    show sym wild"
  250.     @ write tmp "$    if wild.eqs.""="" then wild = f$elem(0,""="",item)"
  251.     @ write tmp "$    vers = f$parse(wild,,,""version"",""syntax_only"")"
  252.     @ write tmp "$    if vers.eqs."";"" then wild = wild - "";"" + "";*"""
  253.     @ write tmp "$scan:"
  254.     @ write tmp "$        f = f$search(wild)"
  255.     @ write tmp "$        if f.eqs."""" then goto scan_list"
  256.     @ write tmp "$        on error then goto err"
  257.     @ write tmp "$        on warning then goto warn"
  258.     @ write tmp "$        delete/log 'f'"
  259.     @ write tmp "$warn:"
  260.     @ write tmp "$err:"
  261.     @ write tmp "$        goto scan"
  262.     @ write tmp "$done:"
  263.     @ write tmp "$ctly:"
  264.     @ write tmp "$    exit 1"
  265.     @ close tmp
  266.  
  267. clean : clean.com
  268.     ! delete *$(O);*, *$(A);*, unzip$(exe);*, unzipsfx$(exe);*, -
  269.     !  unzip.hlp;*, [.vms]unzip.rnh;*
  270. !    @clean "$(OBJS)"
  271.     @clean "$(COMMON_OBJS1)"
  272.     @clean "$(COMMON_OBJS2)"
  273.     @clean "$(CLI_OBJS)"
  274. !    @clean "$(OBJX)"
  275.     @clean "$(COMMON_OBJX1)"
  276.     @clean "$(COMMON_OBJX2)"
  277.     @clean "$(CLI_OBJX)"
  278.         @clean "$(OPTFILE)"
  279.     @clean unzip$(A),unzipsfx$(A)
  280.     @clean unzip$(E),unzipsfx$(E)
  281.     @clean unzip_noshare$(E),unzipsfx_noshare$(E)
  282.     @clean unzip.hlp,[.vms]unzip.rnh
  283.     - delete/noconfirm/nolog clean.com;*
  284.  
  285. crc32$(O)        : crc32.c $(UNZIP_H) zip.h
  286. crctab$(O)        : crctab.c $(UNZIP_H) zip.h
  287. crypt$(O)        : crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
  288. envargs$(O)        : envargs.c $(UNZIP_H)
  289. explode$(O)        : explode.c $(UNZIP_H)
  290. extract$(O)        : extract.c $(UNZIP_H) crypt.h
  291. fileio$(O)        : fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
  292. globals$(O)        : globals.c $(UNZIP_H)
  293. inflate$(O)        : inflate.c inflate.h $(UNZIP_H)
  294. list$(O)        : list.c $(UNZIP_H)
  295. match$(O)        : match.c $(UNZIP_H)
  296. process$(O)        : process.c $(UNZIP_H)
  297. ttyio$(O)        : ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  298. unreduce$(O)        : unreduce.c $(UNZIP_H)
  299. unshrink$(O)        : unshrink.c $(UNZIP_H)
  300. unzip$(O)        : unzip.c $(UNZIP_H) crypt.h version.h consts.h
  301. unzip.hlp        : [.vms]unzip.rnh
  302. zipinfo$(O)        : zipinfo.c $(UNZIP_H)
  303. cmdline$(O)        : [.vms]cmdline.c $(UNZIP_H) version.h
  304. unz_cli$(O)        : [.vms]unz_cli.cld
  305.  
  306. cmdline_$(O)        : [.vms]cmdline.c $(UNZIP_H) version.h
  307.     $(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) [.vms]cmdline.c
  308.  
  309. extract_$(O)        : extract.c $(UNZIP_H) crypt.h
  310.     $(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) extract.c
  311.  
  312. process_$(O)        : process.c $(UNZIP_H)
  313.     $(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) process.c
  314.  
  315. unzipsfx$(O)        : unzip.c $(UNZIP_H) crypt.h version.h consts.h
  316.     $(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) unzip.c
  317.  
  318. vms$(O)            : [.vms]vms.c [.vms]vms.h [.vms]vmsdefs.h $(UNZIP_H)
  319. !    @ x = ""
  320. !    @ if f$search("SYS$LIBRARY:SYS$LIB_C.TLB").nes."" then x = "+SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY"
  321.     $(CC) $(CFLAGS_ALL) /OBJ=$(MMS$TARGET) [.vms]vms.c
  322.  
  323. vms_$(O)        : [.vms]vms.c [.vms]vms.h [.vms]vmsdefs.h $(UNZIP_H)
  324. !    @ x = ""
  325. !    @ if f$search("SYS$LIBRARY:SYS$LIB_C.TLB").nes."" then x = "+SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY"
  326.     $(CC) $(CFLAGS_SFX) /OBJ=$(MMS$TARGET) [.vms]vms.c
  327.  
  328.  
  329. .IFDEF VMSCLI
  330.  
  331. [.vms]unzip.rnh        : [.vms]unzip_cli.help
  332.     @ set default [.vms]
  333.     edit/tpu/nosection/nodisplay/command=cvthelp.tpu unzip_cli.help
  334.     rename unzip_cli.rnh unzip.rnh
  335.     @ set default [-]
  336.  
  337. .ELSE
  338.  
  339. [.vms]unzip.rnh        : [.vms]unzip_def.rnh
  340.     copy [.vms]unzip_def.rnh [.vms]unzip.rnh
  341.  
  342. .ENDIF
  343.