#
# Makefile for BEASTS.
# $Id: GNUmakefile,v 1.12 2002/04/02 02:32:01 peteg Exp $
#
VERSION=0.1.0

MAKEFLAGS := #-k

CC     := gcc
CFLAGS := -Wall

JAVA	:= java
JAVAC   := javac
#JAVAC   := jikes
JFLAGS  := -deprecation
#JFLAGS  += -g
#JFLAGS  += -O
JAVADOC := javadoc
JAR	:= jar

# Lists of files
PACKAGES := beasts
S_PACKAGES := $(subst .,/,$(PACKAGES))
SOURCES := $(foreach package,$(S_PACKAGES),$(wildcard $(package)/*.java))

JARFILE := beasts.jar
OTHER   := $(foreach package,$(S_PACKAGES),$(wildcard $(package)/*.gif))

# Targets
jar: beasts
	$(JAR) cfv $(JARFILE) `find $(S_PACKAGES) -name "*.class"` $(OTHER)

beasts: bin/beasts FORCE
	$(JAVAC) $(JFLAGS) $(SOURCES)

bin/beasts: bin/beasts.c
	$(CC) $(CFLAGS) -o bin/beasts bin/beasts.c

dist: beasts-$(VERSION).tar.gz

deb: FORCE
	# Change to the canonical directory so that the source builder works.
	cd `pwd` && sudo dpkg-buildpackage

# For distribution.
beasts-$(VERSION).tar.gz: jar
	rm -f beasts-$(VERSION).tar.gz
	(cd ..; ln -nsf beasts beasts-$(VERSION))
	(cd ..; tar --exclude={other,CVS} -cvzf beasts-$(VERSION).tar.gz beasts-$(VERSION)/*)
	mv -f ../beasts-$(VERSION).tar.gz .
	rm -f ../beasts-$(VERSION)

#doc: FORCE
#	rm -f $(DOC)
#	$(JAVADOC) -package -d doc $(PACKAGES)

FORCE:

clean: distclean

distclean:
	rm -f bin/beasts beasts_state.ser $(JARFILE) beasts-*.tar.gz
	rm -f `find . -name "*.class"`
