
# $Id: Makefile,v 1.12 2002/09/01 17:14:53 tomek Exp $

PROGS	:= test1 test1U \
	   loadArena loadArenaU \
	   run runU \
	   dist distU \
	   release

MODULES := MyUtils.hs \
	   MyIOUtils.hs \
	   Game.hs \
	   GameState.hs \
	   Arena.hs \
	   ServerReply.hs \
	   RobotState.hs \
	   PackageState.hs \
	   ReadUtil.hs \
	   Commands.hs \
	   Communication.hs \
	   PlayerConf.hs \
	   SillyStrategies.hs \
	   Path.hs

INCLUDES:= arena.h

HC	:= ghc
HS_OPTS := -no-recomp -cpp -O -package lang -package data -package network -Wall
UNBOXED := -DUNBOXED_ARENA -DTILE_IS_CHAR

all: release

test1: %: %.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) --make $< -o $@

test1U: test1.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) $(UNBOXED) --make $< -o $@

loadArena: %: %.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) --make $< -o $@

loadArenaU: loadArena.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) $(UNBOXED) --make $< -o $@

dist: %: %.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) --make $< -o $@

distU: dist.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) $(UNBOXED) --make $< -o $@

run: %: %.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) --make $< -o $@

runU: run.hs $(MODULES) $(INCLUDES)
	$(HC) $(HS_OPTS) $(UNBOXED) --make $< -o $@

release: %: %.hs $(MODULES) $(INCLUDES)
	$(HC) -static -optl -static -DRELEASE $(HS_OPTS) $(UNBOXED) --make $< -o $@

clean:
	rm -f $(PROGS)
	rm -f *.{hi,o}

