1# NetHack Makefile (VMS) - data files: special levels and other data. 2# NetHack 3.6 Makefile.dat $NHDT-Date: 1542388601 2018/11/16 17:16:41 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.10 $ 3# Copyright (c) 2015 by Mike Stephenson 4# NetHack may be freely redistributed. See license for details. 5 6# Copy this file to [.dat]Makefile.; no editing needed. 7 8MAKE = $(MMS) 9CD = set default 10ECHO = write sys$output 11NOOP = continue # don't do anything interesting 12RUN = mcr # simplest way to pass command line args 13TOUCH = append/New _NLA0: # only one file per $(TOUCH) 14# support directories, relative to each other and to 'src' 15DAT = [-.dat] 16UTL = [-.util] 17WINSHR = [-.win.share] 18WINX11 = [-.win.X11] 19# utilities; must match Makefile.utl in spelling and punctuation 20MAKEDEFS = $(UTL)makedefs.exe; 21LEVCOMP = $(UTL)lev_comp.exe; 22DGNCOMP = $(UTL)dgn_comp.exe; 23DLB = $(UTL)dlb.exe; 24TILE2X11 = $(UTL)tile2x11.exe; 25UTILMARKER = $(UTL)util.timestamp; 26 27# note: filespecs have enough punctuation to satisfy DELETE 28MARKERS = spec_levs.timestamp;,quest_levs.timestamp; 29VARDAT = data.;,rumors.;,quest.dat;,oracles.;,options.;,\ 30 engrave.;,epitaph.;,bogusmon.; 31DUNGEON = dungeon.; 32X11TILES= x11tiles.; 33# note: the level lists need to be space separated for use as-is by $(LEVCOMP) 34QUESTLEVS = Arch.des Barb.des Caveman.des Healer.des Knight.des \ 35 Monk.des Priest.des Ranger.des Rogue.des Samurai.des Tourist.des \ 36 Valkyrie.des Wizard.des 37SPECLEVS = bigroom.des castle.des endgame.des gehennom.des knox.des \ 38 medusa.des mines.des oracle.des sokoban.des tower.des yendor.des 39 40all : $(VARDAT) $(DUNGEON) $(MARKERS) $(DLB) 41 @ $(ECHO) "data files are up to date." 42 43# these are convenience targets for "manual" interactive use 44spec_levs : spev_levs.timestamp 45 @ $(ECHO) "special levels are up to date." 46quest_levs : quest_levs.timestamp 47 @ $(ECHO) "quest levels are up to date." 48dungeon : $(DUNGEON) 49 @ $(ECHO) "dungeon is up to date." 50data : data.; 51 @ $(NOOP) 52rumors : rumors.; 53 @ $(NOOP) 54quest.dat : quest.dat; 55 @ $(NOOP) 56oracles : oracles.; 57 @ $(NOOP) 58engrave : engrave.; 59 @ $(NOOP) 60epitaph : epitaph.; 61 @ $(NOOP) 62bogusmon : bogusmon.; 63 @ $(NOOP) 64options : options.; 65 @ $(NOOP) 66x11tiles : $(X11TILES) 67 @ $(NOOP) 68 69$(MAKEDEFS) : $(UTILMARKER) 70 $(CD) $(UTL) 71 $(MAKE)$(MAKEFLAGS) $(MAKEDEFS) 72 @ $(CD) $(DAT) 73 74$(DGNCOMP) : $(UTILMARKER) 75 $(CD) $(UTL) 76 $(MAKE)$(MAKEFLAGS) $(DGNCOMP) 77 @ $(CD) $(DAT) 78 79$(LEVCOMP) : $(UTILMARKER) 80 $(CD) $(UTL) 81 $(MAKE)$(MAKEFLAGS) $(LEVCOMP) 82 @ $(CD) $(DAT) 83 84$(DLB) : $(UTILMARKER) 85 $(CD) $(UTL) 86 $(MAKE)$(MAKEFLAGS) $(DLB) 87 @ $(CD) $(DAT) 88 89$(TILE2X11) : $(UTILMARKER) 90 $(CD) $(UTL) 91 $(MAKE)$(MAKEFLAGS) $(TILE2X11) 92 @ $(CD) $(DAT) 93 94$(X11TILES) : $(TILE2X11) \ 95 $(WINSHR)monsters.txt $(WINSHR)objects.txt $(WINSHR)other.txt 96 $(RUN) $(TILE2X11) \ 97 $(WINSHR)monsters.txt $(WINSHR)objects.txt $(WINSHR)other.txt 98 99pet_mark.xbm : $(WINX11)pet_mark.xbm 100 copy $(WINX11)pet_mark.xbm pet_mark.xbm 101 102rip.xpm : $(WINX11)rip.xpm 103 copy $(WINX11)rip.xpm rip.xpm 104 105 106data.; : data.base $(MAKEDEFS) 107 $(RUN) $(MAKEDEFS) -d 108 109rumors.; : rumors.tru rumors.fal $(MAKEDEFS) 110 $(RUN) $(MAKEDEFS) -r 111 112engrave.; epitaph.; bogusmon.; : engrave.txt epitaph.txt bogusmon.txt 113 $(RUN) $(MAKEDEFS) -s 114 115quest.dat; : quest.txt $(MAKEDEFS) 116 $(RUN) $(MAKEDEFS) -q 117 118oracles.; : oracles.txt $(MAKEDEFS) 119 $(RUN) $(MAKEDEFS) -h 120 121# note: 'options' should have already been made when include/date.h was created 122options.; : $(MAKEDEFS) 123 $(RUN) $(MAKEDEFS) -v 124 125spec_levs.timestamp; : $(SPECLEVS) $(LEVCOMP) 126 $(RUN) $(LEVCOMP) $(SPECLEVS) 127 $(TOUCH) spec_levs.timestamp; 128 129quest_levs.timestamp; : $(QUESTLEVS) $(LEVCOMP) 130 $(RUN) $(LEVCOMP) $(QUESTLEVS) 131 $(TOUCH) quest_levs.timestamp; 132 133$(DUNGEON) : dungeon.def $(MAKEDEFS) $(DGNCOMP) 134 $(RUN) $(MAKEDEFS) -e !dungeon.def -> dungeon.pdf 135 $(RUN) $(DGNCOMP) dungeon.pdf !dungeon.pdr -> dungeon 136 137clean : 138 - if f$search("*.*;-1").nes."" then purge 139 - if f$search("dungeon.pdf").nes."" then delete dungeon.pdf; 140 - if f$search("*.timestamp").nes."" then delete $(MARKERS) 141 142spotless : clean 143 - delete $(VARDAT) 144 - if f$search("$(DUNGEON)").nes."" then delete $(DUNGEON) 145 - if f$search("*.lev").nes."" then delete *.lev; 146 - if f$search("$(X11TILES)").nes."" then delete $(X11TILES) 147 - if f$search("*.x%m").nes."" then delete *.x%m; !*.xbm,*.xpm 148 - if f$search("nh*.dlb").nes."" then delete nh*.dlb; 149 - if f$search("nhdat.lst").nes."" then delete nhdat.lst; 150