SRCS_COMMON=Makefile \
	lib_includes.g flags.g lib-lemma.g \
	pf.g parser.g pf_util.g pf_util2.g \
	cnf.g cnf-lemma.g cnf-lemma2.g cnf-util.g debug.g

SRCS_SOLVER= \
	assignment.g assignment-util.g unitprop.g decision.g \
	resolution.g conflict.g init.g solver.g main.g compile.g

#FLAGS=-m32 -w -O3 -DDEBUG=1
FLAGS=-m32 -w -O3
DBG_FLAGS=-m32 -w -O0 -ggdb

TARGETS=test-parse test-conv versat

all: $(TARGETS)

test-parse: $(SRCS_COMMON) test-parse.g
	time guru flags.g test-parse.g
	cc $(FLAGS) -o test-parse test-parse.c

test-conv: $(SRCS_COMMON) test-conv.g
	time guru flags.g test-conv.g
	cc $(FLAGS) -o test-conv test-conv.c

versat.c: $(SRCS_COMMON) $(SRCS_SOLVER)
	time guru flags.g compile.g

versat: versat.c
	cc $(FLAGS) -o versat versat.c

versat_pg: versat.c Makefile
	cc $(FLAGS) -pg -o versat_pg versat.c

versat_dbg: versat.c
	cc $(DBG_FLAGS) -o versat_dbg versat.c

dbg: 
	time guru flags.g compile.g
	cc $(DBG_FLAGS) -o versat_dbg versat.c

cnf-lemma: $(SRCS_COMMON)
	time guru lib_includes.g cnf-lemma.g


cnf-util: $(SRCS_COMMON)
	time guru lib_includes.g cnf-util.g

resolution: $(SRCS_COMMON)
	time guru lib_includes.g resolution.g

clean:
	rm -f $(TARGETS)

tarball:
	rm -rf versat
	svn export -r base . versat
	tar vczf versat-`date +%F`.tar.gz versat
	rm -rf versat
