]> granicus.if.org Git - nethack/commitdiff
vms update
authornethack.rankin <nethack.rankin>
Sat, 2 Mar 2002 07:50:34 +0000 (07:50 +0000)
committernethack.rankin <nethack.rankin>
Sat, 2 Mar 2002 07:50:34 +0000 (07:50 +0000)
     Update the instructions, add a dat -> util dependency so that
MMK (freeware clone of DEC's MMS make utility) builds the data files
when necessary, and switch the default compiler to DEC C.

sys/vms/Install.vms
sys/vms/Makefile.dat
sys/vms/Makefile.src
sys/vms/Makefile.utl

index d026c5640a43bfd324f68a939d36b11c6debd971..3b54e19217a5fcd1360d5e494dcc300979d19554 100644 (file)
@@ -5,17 +5,18 @@
 0.  Please read this entire file before trying to build or install
     NetHack, then read it again!
 
-1.  Building NetHack requires a C compiler (either VAX C, DEC C, or GNU C)
-    and VMS version V4.6 or later (but see note #9).  This release has been
-    tested on VAX/VMS V5.5-2 and V6.2, and Alpha/VMS V6.2 and V7.1.  The
-    build procedure (vmsbuild.com) should not need to be modified; it accepts
+1.  Building NetHack requires a C compiler (either Compaq C, DEC C,
+    VAX C, or GNU C) and VMS version V4.6 or later (but see note #9).
+    This release has been tested with Compaq C V6.4 on Alpha/VMS V7.1 
+    and with VAX C V3.2 and GNU C 2.7.1 on VAX/VMS V5.5-2.  The build
+    procedure (vmsbuild.com) should not need to be modified; it accepts
     an option for selecting the compiler, and it can detect different
     versions which might require specific command qualifiers.  Versions
     of VAXC earlier than V2.3 will produce many warning messages (about
     200 per source file; over to 25,000 total!), but NetHack has been
     verified to compile, link, and execute correctly when built with VAXC
-    V2.2 using vmsbuild.com.  There is also a set of Makefiles suitable
-    for use with MMS; they may or may not work with other make utilities.
+    V2.2 using vmsbuild.com.  There is also a set of Makefiles suitable for
+    use with MMS or MMK; they may or may not work with other make utilities.
 
 2.  Make sure all the NetHack files are in the appropriate directory
     structure.  You should set up a directory--referred to as "top" below
     The following subdirectories may be present, but are not useful for
     building NetHack on VMS and are not required:
         [.sys   .amiga] -- AmigaDOS
-        [.sys   .amiga   .splitter]
         [.sys   .atari] -- Atari TOS
         [.sys   .be]    -- BeBox BeOS
         [.sys   .mac]   -- Macintosh
-        [.sys   .mac     .old]
         [.sys   .msdos] -- MSDOS for IBM PCs and compatibles
-        [.sys   .msdos   .old]
         [.sys   .os2]   -- OS/2
         [.sys   .share   .sounds] -- AIFF format audio files
         [.sys   .unix]  -- guess :-)
 Notes:
 
 1.  Save files and bones files from earlier versions will not work with
-    3.4.0.  The scoreboard file (RECORD) from 3.3.1 will work; one from
+    3.4.0.  The scoreboard file (RECORD) from 3.3.x will work; one from
     version 3.2.x is slightly different format but should be compatible.
 
 2.  To specify user-preference options in your environment, define the
@@ -155,7 +153,7 @@ Notes:
     tradeoff for enabling checkpoint is that using it makes level changes
     do more I/O and take longer.  The "menustyle" option controls some
     aspects of the user interface, and can be set to "menustyle:traditional"
-    to make 3.4.0, 3.3.x, or 3.2.x behave more like 3.1.3.
+    to make nethack behave more like older versions.
 
     If logical name or DCL symbol NETHACKOPTIONS is not defined, NetHack
     will try HACKOPTIONS instead.  Regardless of whether or not either
index dcfc49d055efb8229c36db5de09d93f30585a4b7..d2ee9a3a02ec70c9519fb8875bcc18a5e0a53713 100644 (file)
@@ -1,5 +1,5 @@
 #      NetHack Makefile (VMS) - data files: special levels and other data.
-#      SCCS Id: @(#)Makefile.dat       3.4     1999/03/19
+#      SCCS Id: @(#)Makefile.dat       3.4     2002/03/02
 
 #  Copy this file to [.dat]Makefile.; no editing needed.
 
@@ -20,6 +20,7 @@ LEVCOMP  = $(UTL)lev_comp.exe;
 DGNCOMP  = $(UTL)dgn_comp.exe;
 DLB     = $(UTL)dlb.exe;
 TILE2X11 = $(UTL)tile2x11.exe;
+UTILMARKER = $(UTL)util.timestamp;
 
 # note: filespecs have enough punctuation to satisfy DELETE
 MARKERS = spec_levs.timestamp;,quest_levs.timestamp; 
@@ -56,27 +57,27 @@ options :   options.;
 x11tiles :     $(X11TILES)
       @ $(NOOP)
 
-$(MAKEDEFS) :
+$(MAKEDEFS) : $(UTILMARKER)
        $(CD) $(UTL)
        $(MAKE)$(MAKEFLAGS) $(MAKEDEFS)
       @ $(CD) $(DAT)
 
-$(DGNCOMP) :
+$(DGNCOMP) : $(UTILMARKER)
        $(CD) $(UTL)
        $(MAKE)$(MAKEFLAGS) $(DGNCOMP)
       @ $(CD) $(DAT)
 
-$(LEVCOMP) :
+$(LEVCOMP) : $(UTILMARKER)
        $(CD) $(UTL)
        $(MAKE)$(MAKEFLAGS) $(LEVCOMP)
       @ $(CD) $(DAT)
 
-$(DLB) :
+$(DLB) : $(UTILMARKER)
        $(CD) $(UTL)
        $(MAKE)$(MAKEFLAGS) $(DLB)
       @ $(CD) $(DAT)
 
-$(TILE2X11) :
+$(TILE2X11) : $(UTILMARKER)
        $(CD) $(UTL)
        $(MAKE)$(MAKEFLAGS) $(TILE2X11)
       @ $(CD) $(DAT)
index 3dfd06c8ab60d5021dfb21b7c441b1f290deec16..e001359949476dc4b28e7b2c307f687e89f08abe 100644 (file)
@@ -1,7 +1,8 @@
 #      NetHack Makefile (VMS) - for building nethack itself.
-#      SCCS Id: @(#)Makefile.src       3.4     2001/12/09
+#      SCCS Id: @(#)Makefile.src       3.4     2002/03/02
 
 #  Copy this file to [.src]Makefile. and then edit it as needed.
+#  The default configuration is for building with DEC C (aka Compaq C).
 #  If you changed CC or CFLAGS, make similar changes in [.util]Makefile.
 #
 #  Note:  modifying this Makefile will cause crtl.opt to be rebuilt,
@@ -32,16 +33,15 @@ MAKEFILE= $(SRC)Makefile.
 
 # set option flags for C compiler and linker
 #
-#CFLAGS        = /Debug/noOptimize/Include=$(INC)
-CFLAGS = /Include=$(INC)/noList        # VAXC or GNUC
-#CFLAGS        = /Prefix=All/Incl=$(INC)/noList        # DECC in native mode
+CFLAGS = /Prefix=All/Incl=$(INC)/noList        # DECC in native mode
+#CFLAGS        = /Include=$(INC)/noList        # VAXC or GNUC
 #LFLAGS        = /Debug/Map/Cross_Ref                  # for development
 #LFLAGS        = /noTraceback/noMap                    # for installing w/ privs
 LFLAGS = /noMap
 LINK   = link
 
-LIBS   = sys$share:vaxcrtl.exe/Shareable
-#LIBS  =                                       # blank for DECC
+LIBS   =                                       # blank for DECC
+#LIBS  = sys$share:vaxcrtl.exe/Shareable       # VAX C or GNU C
 MORELIBS =
 # GCC needs an extra library
 #MORELIBS = gnu_cc:[000000]gcclib.olb/Library
index 6d0bf38df6668a699cd0c95f22af2c4a393951a7..bc4e2e64a147c9a0559a925147e1b20d697d1a5b 100644 (file)
@@ -1,13 +1,14 @@
 #      NetHack Makefile (VMS) - for utility programs.
-#      SCCS Id: @(#)Makefile.utl       3.4     2000/08/05
+#      SCCS Id: @(#)Makefile.utl       3.4     2002/03/02
 
 #  Copy this file to [.util]Makefile. and then edit it as needed.
+#  The default configuration is for building with DEC C (aka Compaq C).
 #  Settings for CC and CFLAGS ought to match the ones used in [.src]Makefile.
 
 MAKE   = $(MMS)
 CD     = set default
 ECHO   = write sys$output
-MOVE   = rename/New            # within save device only
+MOVE   = rename/New            # within same device only
 MUNG   = search/Exact/Match=NOR        # to strip bogus #module directives
 NOOP   = continue
 RM     = delete/noConfirm
@@ -28,13 +29,15 @@ LEVCOMP = $(UTL)lev_comp.exe;
 DGNCOMP = $(UTL)dgn_comp.exe;
 DLB    = $(UTL)dlb.exe;
 RECOVER = $(UTL)recover.exe;
+# used by $(DAT)Makefile for synchronization
+MARKER = $(UTL)util.timestamp;
 
 # if you are using gcc as your compiler,
 #      uncomment the CC definition below if it's not in your environment
 # CC = gcc
 
-CFLAGS = /Include=$(INC)/noList        # VAXC or GNUC
-#CFLAGS        = /Prefix=All/Incl=$(INC)/noList        # DECC in native mode
+CFLAGS = /Prefix=All/Incl=$(INC)/noList        # DECC in native mode
+#CFLAGS        = /Include=$(INC)/noList        # VAXC or GNUC
 LFLAGS = /noMap
 LIBS   = $(SRC)crtl.opt/Options                # run-time library(s) needed
 LINK   = link
@@ -153,6 +156,7 @@ $(LIBOPT) : $(SRC)Makefile.;                # linker options file
 #
 $(MAKEDEFS) :  $(MAKEOBJS) $(VMSMAKEOBJS) $(LIBOPT)
        $(LINK) $(LFLAGS) $(MAKEOBJS),$(VMSMAKEOBJS),$(LIBS)
+      @ $(TOUCH) $(MARKER)
 
 makedefs.obj : makedefs.c \
                $(CONFIG_H) $(INC)permonst.h $(INC)objclass.h \
@@ -365,3 +369,4 @@ spotless :  clean
       - if f$search("*.exe").nes."" then \
  $(RM) $(MAKEDEFS),$(LEVCOMP),$(DGNCOMP),$(RECOVER),$(DLB)
       - if f$search("*.exe").nes."" then  $(RM) $(TILEUTILS)
+      - if f$search("$(MARKER)").nes."" then  $(RM) $(MARKER)