home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / zip21.zip / vms / makefile.vms < prev    next >
Makefile  |  1996-04-01  |  5KB  |  170 lines

  1. #============================================================================
  2. # Makefile for VMS Zip, ZipCloak, ZipNote  and ZipSplit          Greg Roelofs
  3. # Version:  2.0 [for use with Todd Aven's MAKE/VMS 3.4]          16-JAN-1996
  4. #============================================================================
  5.  
  6. # ChangeLog:  10-SEP-1993 08:53 by Hunter Goatley (add AXP support)
  7. #             15-OCT-1995 22:40 by Chr. Spieler (Zip 2.1)
  8. #             11-DEC-1995 12:09 by Chr. Spieler (AXP uses RELAXED_ANSI mode)
  9. #             08-JAN-1996 19:08 by Chr. Spieler (updated header dependencies)
  10. #             16-JAN-1996 19:08 by Chr. Spieler (crypt -> crypt & ttyio)
  11.  
  12.  
  13. ########################### USER CUSTOMIZATION ############################
  14. # add any optional preprocessor flags (macros) to the following line
  15. # for a custom version (do not forget a trailing comma##):
  16. COMMON_DEFS =
  17. ######################## END OF USER CUSTOMIZATION ########################
  18.  
  19. #####################
  20. # MACRO DEFINITIONS #
  21. #####################
  22.  
  23. CFLAGS = /NOLIST/INCL=(SYS$DISK:[])
  24. CC = cc
  25. LIB =
  26. # Define the macro __GNUC__ to use the GNU compiler (also add /undef=__STDC__
  27. # to CFLAGS, and possibly replace /obj=$@ [below] with copy/rename/delete
  28. # setup).  NOT TESTED.
  29.  
  30. %IFDEF __ALPHA
  31. CC = CC/STANDARD=RELAX/PREFIX=ALL/ANSI
  32. E = .AXP_EXE
  33. O = .AXP_OBJ
  34. OPTIONS =
  35. OPTFILE =
  36. %ELSE
  37. %IFDEF __DECC__
  38. CC = CC/DECC/STANDARD=VAXC/PREFIX=ALL
  39. E = .VAX_DECC_exe
  40. O = .VAX_DECC_obj
  41. OPTIONS =
  42. OPTFILE =
  43. %ELSE
  44. %IFDEF __GNUC__
  45. CC = gcc
  46. E = .VAX_GNUC_exe
  47. O = .VAX_GNUC_obj
  48. LIB = gnu_cc:[000000]gcclib.olb/lib,
  49. %ELSE
  50. E = .VAX_VAXC_exe
  51. O = .VAX_VAXC_obj
  52. %ENDIF
  53. OPTFILE = ,VAXCSHR.OPT
  54. OPTIONS = $(OPTFILE)/OPTIONS
  55. %ENDIF
  56. %ENDIF
  57.  
  58. CFLAGS_ALL  = $(CFLAGS) /def=($(COMMON_DEFS) VMS)
  59. CFLAGS_UTIL = $(CFLAGS) /def=($(COMMON_DEFS) UTIL, VMS)
  60. LD = LINK
  61. LDFLAGS = /NOTRACE
  62.  
  63. ZIPS = zip$E zipcloak$E zipnote$E zipsplit$E
  64.  
  65. # object file lists
  66. OBJZ =    zip$O, crc32$O, crctab$O, crypt$O, ttyio$O,-
  67.     zipfile$O, zipup$O, fileio$O, globals$O,-
  68.     util$O, vmszip$O, vms$O, vmsmunch$O
  69. OBJI =    deflate$O, trees$O, bits$O
  70. OBJU =    zipfile_$O,fileio_$O,globals$O,-
  71.     util_$O,vmszip_$O,vms_$O,vmsmunch$O
  72. OBJR =  crctab$O, crypt_$O, ttyio$O
  73. OBJC =    zipcloak$O,$(OBJR),$(OBJU)
  74. OBJN =    zipnote$O,$(OBJU)
  75. OBJS =    zipsplit$O,$(OBJU)
  76.  
  77. ZIP_H =    zip.h ziperr.h tailor.h [.vms]osdep.h
  78.  
  79. ###############################################
  80. # BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
  81. ###############################################
  82.  
  83. default :    $(ZIPS)
  84.  
  85.  
  86. # suffix rules
  87. *$O:    *.c                # `*.c' necessary?
  88.     $(CC)$(CFLAGS_ALL)/OBJECT=$@ $<
  89.  
  90.  
  91. # executables makerules (trailing `$' makes line a data line)
  92. zip$E :        $(OBJZ), $(OBJI) $(OPTFILE)
  93.     $(LD) $(LDFLAGS)/EXEC=ZIP$E $(OBJZ), $(OBJI) $(LIB) $(OPTIONS)
  94.  
  95. zipcloak$E :    $(OBJC) $(OPTFILE)
  96.     $(LD) $(LDFLAGS)/EXEC=ZIPCLOAK$E $(OBJC) $(LIB) $(OPTIONS)
  97.  
  98. zipnote$E :    $(OBJN) $(OPTFILE)
  99.     $(LD) $(LDFLAGS)/EXEC=ZIPNOTE$E $(OBJN) $(LIB) $(OPTIONS)
  100.  
  101. zipsplit$E :    $(OBJS) $(OPTFILE)
  102.     $(LD) $(LDFLAGS)/EXEC=ZIPSPLIT$E $(OBJS) $(LIB) $(OPTIONS)
  103.  
  104. VAXCSHR.OPT :
  105.     open/write tmp vaxcshr.opt
  106.     write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE"
  107.     close tmp
  108.  
  109. # dependencies for zip, zipnote, zipcloak, and zipsplit
  110. vmszip$O :    [.vms]vmszip.c [.vms]vmsmunch.h
  111.     $(CC)$(CFLAGS_ALL)/OBJECT=vmszip$O [.vms]vmszip.c
  112. vms$O :        [.vms]vms.c [.vms]vms_im.c [.vms]vms_pk.c \
  113.     [.vms]vms.h [.vms]vmsdefs.h
  114.     $(CC)$(CFLAGS_ALL)/OBJECT=vms$O [.vms]vms.c
  115. vmsmunch$O :    [.vms]vmsmunch.c [.vms]vmsmunch.h [.vms]vmsdefs.h
  116.     $(CC)$(CFLAGS_ALL)/OBJECT=vmsmunch$O [.vms]vmsmunch.c
  117. zipfile$O :    [.vms]vmsmunch.h [.vms]vmsdefs.h
  118. zip$O :        [.vms]vmsmunch.h
  119.  
  120. crypt_$O :    crypt.c crypt.h ttyio.h
  121.     $(CC)$(CFLAGS_UTIL)/OBJECT=crypt_$O crypt.c
  122. zipfile_$O :    zipfile.c [.vms]vmsmunch.h [.vms]vmsdefs.h
  123.     $(CC)$(CFLAGS_UTIL)/OBJECT=zipfile_$O zipfile.c
  124. fileio_$O :    fileio.c
  125.     $(CC)$(CFLAGS_UTIL)/OBJECT=fileio_$O fileio.c
  126. util_$O :    util.c
  127.     $(CC)$(CFLAGS_UTIL)/OBJECT=util_$O util.c
  128. vmszip_$O :    [.vms]vmszip.c [.vms]vmsmunch.h
  129.     $(CC)$(CFLAGS_UTIL)/OBJECT=vmszip_$O [.vms]vmszip.c
  130. vms_$O :    [.vms]vms.c [.vms]vms_im.c [.vms]vms_pk.c \
  131.     [.vms]vms.h [.vms]vmsdefs.h
  132.     $(CC)$(CFLAGS_UTIL)/OBJECT=vms_$O [.vms]vms.c
  133.  
  134. zip$O zipcloak$O zipnote$O zipsplit$O zipup$O : revision.h
  135. zip$O zipcloak$O zipup$O bits$O crypt$O ttyio$O : crypt.h
  136. zip$O zipcloak$O crypt$O ttyio$O : ttyio.h
  137. zipup$O : [.vms]zipup.h
  138. $(OBJZ) :    $(ZIP_H)
  139. $(OBJI) :    $(ZIP_H)
  140. $(OBJN) :    $(ZIP_H)
  141. $(OBJS) :    $(ZIP_H)
  142. $(OBJC) :    $(ZIP_H)
  143.  
  144. clean :
  145.     delete *.$(O);*
  146.     delete *.$(E);*        # use "purge/log" instead?
  147.  
  148.  
  149. # the backslash '\' is the continuation character if it occurs as
  150. # the last non-white character on the line.
  151. # the hyphen '-' is the DCL continuation character, so if it occurs
  152. # as the last non-white character on the line, the next line will
  153. # not have the dollar sign '$' prepended.
  154.  
  155.  
  156. ################################
  157. # INDIVIDUAL MACHINE MAKERULES #
  158. ################################
  159.  
  160. generic :    default        # first try if unknown
  161. generic2 :    default        # second try if unknown
  162. vax :        default
  163. vms :        default
  164.  
  165. all :        $(ZIPS)
  166. zip :        zip$E
  167. zipcloak :    zipcloak$E
  168. zipnote :    zipnote$E
  169. zipsplit :    zipsplit$E
  170.