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