# Makefile for SIFTER
# (written 2005 Philip Johnson)

APP = sifter.jar
MAIN = PFun
SRC = PFun PFunLibrary \
util/Filefinder \
util/PFunDAG \
util/PfunFamily \
util/PFunGODAG \
util/PfunProtein \
util/PFunUtil \
util/Settings \
stat/NodeProbability \
stat/PFunLearn \
stat/PVector \
stat/PMatrix \
stat/PFunTransMatrix \
stat/PowerSet \
stat/PFunTree

#add extra (inner) classes here
CLS = './stat/PFunTransMatrix$$Parameter.class' \
'./stat/PFunTree$$Node.class' \
'./util/PFunGODAG$$Entry.class' \
'./util/PFunDAG$$Node.class'


LIB = lib/commons-cli-1.0.jar lib/jakarta-regexp-1.3.jar jlapack-0.6/f2jutil.jar jlapack-0.6/blas.jar jlapack-0.6/lapack.jar jlapack-0.6/xerbla.jar


#------------------------------------------------------------------------------
# DON'T TOUCH BELOW!
#------------------------------------------------------------------------------

empty = 
space = $(empty) $(empty)

all: $(APP)

$(APP) : $(SRC:%=%.class)
	@echo "Class-Path: $(LIB)\nMain-Class: $(MAIN)" > manifest.txt
	jar cmf manifest.txt $(APP) $(SRC:%=%.class) $(CLS)
	@rm manifest.txt

%.class : %.java
	javac -source 1.5 -classpath .:$(subst $(space),:,$(LIB)) $<


clean:
	rm $(SRC:%=%.class)
	rm $(APP)
