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