#       SCCS Id: @(#)Makefile.dat  3.1   93/04/25
#       Copyright (c) NetHack PC Development Team 1992, 1993.
#       NetHack may be freely redistributed.  See license for details.
#
# PC NetHack 3.1 Data Files Makefile for NDMAKE and MSC >= 6.0ax, or
# MSVC >= 1.0, or DGJPP 1.9.

DAT     = ..\dat
INCL    = ..\include
UTL     = ..\util

default: all

all:    $(DAT)\data         $(DAT)\rumors       $(DAT)\dungeon \
	$(DAT)\oracles      $(DAT)\quest.dat    $(DAT)\sp_lev.tag

$(UTL)\utility.tag: $(UTL)\*.c $(UTL)\*.l $(UTL)\*.y $(INCL)\*.h
	@echo You must "make all" in $(UTL) first.
	@attrib .foo

$(DAT)\data:    $(UTL)\utility.tag    $(DAT)\data.bas
	$(UTL)\makedefs -d

$(DAT)\rumors:  $(UTL)\utility.tag    $(DAT)\rumors.tru   $(DAT)\rumors.fal
	$(UTL)\makedefs -r

$(DAT)\quest.dat: $(UTL)\utility.tag  $(DAT)\quest.txt
	$(UTL)\makedefs -q

$(DAT)\oracles: $(UTL)\utility.tag    $(DAT)\oracles.txt
	$(UTL)\makedefs -h

#
# Note: `options` should be created via date.h target in ..\src\makefile
#
$(DAT)\options: $(UTL)\utility.tag    $(INCL)\config.h    $(INCL)\pcconf.h
	$(UTL)\makedefs -v

$(DAT)\sp_lev.tag: $(UTL)\utility.tag $(DAT)\bigroom.des  $(DAT)\castle.des \
	$(DAT)\endgame.des $(DAT)\gehennom.des $(DAT)\knox.des     \
	$(DAT)\medusa.des  $(DAT)\oracle.des   $(DAT)\tower.des    \
	$(DAT)\yendor.des  $(DAT)\arch.des     $(DAT)\barb.des     \
	$(DAT)\caveman.des $(DAT)\elf.des      $(DAT)\healer.des   \
	$(DAT)\knight.des  $(DAT)\priest.des   $(DAT)\rogue.des    \
	$(DAT)\samurai.des $(DAT)\tourist.des  $(DAT)\valkyrie.des \
	$(DAT)\wizard.des  $(DAT)\monk.des     $(DAT)\dopp.des     \
	$(DAT)\blkmar.des  $(DAT)\lycn.des     $(DAT)\flame.des    \
	$(DAT)\caves.des  $(DAT)\dragons.des     $(DAT)\giants.des    \
	$(DAT)\kobold-1.des  $(DAT)\kobold-2.des     $(DAT)\lich.des    \
	$(DAT)\mall-1.des  $(DAT)\mall-2.des     $(DAT)\nymph.des    \
	$(DAT)\rats.des  $(DAT)\spiders.des     $(DAT)\stor-1.des    \
	$(DAT)\stor-2.des  $(DAT)\stor-3.des     \
	$(DAT)\ice.des     $(DAT)\slayer.des   
	$(UTL)\lev_comp $(DAT)\bigroom.des
	$(UTL)\lev_comp $(DAT)\castle.des
	$(UTL)\lev_comp $(DAT)\endgame.des
	$(UTL)\lev_comp $(DAT)\gehennom.des
	$(UTL)\lev_comp $(DAT)\knox.des
	$(UTL)\lev_comp $(DAT)\mines.des
	$(UTL)\lev_comp $(DAT)\medusa.des
	$(UTL)\lev_comp $(DAT)\oracle.des
	$(UTL)\lev_comp $(DAT)\tower.des
	$(UTL)\lev_comp $(DAT)\yendor.des
	$(UTL)\lev_comp $(DAT)\arch.des
	$(UTL)\lev_comp $(DAT)\barb.des
	$(UTL)\lev_comp $(DAT)\caveman.des
	$(UTL)\lev_comp $(DAT)\elf.des
	$(UTL)\lev_comp $(DAT)\healer.des
	$(UTL)\lev_comp $(DAT)\knight.des
	$(UTL)\lev_comp $(DAT)\priest.des
	$(UTL)\lev_comp $(DAT)\rogue.des
	$(UTL)\lev_comp $(DAT)\samurai.des
	$(UTL)\lev_comp $(DAT)\tourist.des
	$(UTL)\lev_comp $(DAT)\valkyrie.des
	$(UTL)\lev_comp $(DAT)\wizard.des
	$(UTL)\lev_comp $(DAT)\blkmar.des
	$(UTL)\lev_comp $(DAT)\monk.des
	$(UTL)\lev_comp $(DAT)\dopp.des
	$(UTL)\lev_comp $(DAT)\lycn.des
	$(UTL)\lev_comp $(DAT)\flame.des  
	$(UTL)\lev_comp $(DAT)\ice.des  
	$(UTL)\lev_comp $(DAT)\slayer.des  
	
	$(UTL)\lev_comp $(DAT)\caves.des  
	$(UTL)\lev_comp $(DAT)\dragons.des  
	$(UTL)\lev_comp $(DAT)\giants.des  
	$(UTL)\lev_comp $(DAT)\kobold-1.des  
	$(UTL)\lev_comp $(DAT)\kobold-2.des  
	$(UTL)\lev_comp $(DAT)\lich.des  
	$(UTL)\lev_comp $(DAT)\mall-1.des  
	$(UTL)\lev_comp $(DAT)\mall-2.des  
	$(UTL)\lev_comp $(DAT)\nymph.des  
	$(UTL)\lev_comp $(DAT)\rats.des  
	$(UTL)\lev_comp $(DAT)\spiders.des  
	$(UTL)\lev_comp $(DAT)\stor-1.des  
	$(UTL)\lev_comp $(DAT)\stor-2.des  
	$(UTL)\lev_comp $(DAT)\stor-3.des  
	echo sp_levs done > $(DAT)\sp_lev.tag

$(DAT)\dungeon: $(UTL)\utility.tag  $(DAT)\dungeon.def
	$(UTL)\makedefs -e
	$(UTL)\dgn_comp $(DAT)\dungeon.pdf

clean: spotless

spotless:
	if exist $(DAT)\?-fill?.lev     del $(DAT)\?-fill?.lev
	if exist $(DAT)\?-goal.lev      del $(DAT)\?-goal.lev
	if exist $(DAT)\?-locate.lev    del $(DAT)\?-locate.lev
	if exist $(DAT)\?-start.lev     del $(DAT)\?-start.lev
	if exist $(DAT)\air.lev         del $(DAT)\air.lev
	if exist $(DAT)\asmodeus.lev    del $(DAT)\asmodeus.lev
	if exist $(DAT)\astral.lev      del $(DAT)\astral.lev
	if exist $(DAT)\baalz.lev       del $(DAT)\baalz.lev
	if exist $(DAT)\bigroom.lev     del $(DAT)\bigroom.lev
	if exist $(DAT)\castle.lev      del $(DAT)\castle.lev
	if exist $(DAT)\data            del $(DAT)\data
	if exist $(DAT)\dungeon         del $(DAT)\dungeon
	if exist $(DAT)\dungeon.pdf     del $(DAT)\dungeon.pdf
	if exist $(DAT)\earth.lev       del $(DAT)\earth.lev
	if exist $(DAT)\fakewiz?.lev    del $(DAT)\fakewiz?.lev
	if exist $(DAT)\fire.lev        del $(DAT)\fire.lev
	if exist $(DAT)\juiblex.lev     del $(DAT)\juiblex.lev
	if exist $(DAT)\medusa-?.lev    del $(DAT)\medusa-?.lev
	if exist $(DAT)\mine*.lev       del $(DAT)\mine*.lev
	if exist $(DAT)\*.lev           del $(DAT)\*.lev
	
	if exist $(DAT)\options         del $(DAT)\options
	if exist $(DAT)\oracle.lev      del $(DAT)\oracle.lev
	if exist $(DAT)\oracles         del $(DAT)\oracles
	if exist $(DAT)\orcus.lev       del $(DAT)\orcus.lev
	if exist $(DAT)\rumors          del $(DAT)\rumors
	if exist $(DAT)\quest.dat       del $(DAT)\quest.dat
	if exist $(DAT)\sanctum.lev     del $(DAT)\sanctum.lev
	if exist $(DAT)\tower?.lev      del $(DAT)\tower?.lev
	if exist $(DAT)\valley.lev      del $(DAT)\valley.lev
	if exist $(DAT)\water.lev       del $(DAT)\water.lev
	if exist $(DAT)\wizard?.lev     del $(DAT)\wizard?.lev
	if exist $(DAT)\sp_lev.tag      del $(DAT)\sp_lev.tag
