# Translator Makefile
objs1 = var_util.o variable.o diff.o gdcc.o convert.o parms.o \
       wrapterm.o ground.o gb.o bb.o parser.o wconvert.o \
       reader.o translator.o output.o  transform.o kl1cmp.o var.o \
       pe_wspec.o main.o

objs2 = std_block.o

algobjs =  ../Alg/alg_if.o        ../Alg/find.o       ../Alg/platypus.o \
           ../Alg/rule_project.o  ../Alg/ask_daemon.o \
           ../Alg/poly.o          ../Alg/solver.o \
           ../Alg/criteria.o      ../Alg/mole.o \
           ../Alg/std_con.o       ../Alg/rewrite.o \
           ../Alg/pe_spec.o       ../Alg/rule_db.o \
           ../Alg/otter.o         ../Alg/poly_filter.o \
           ../Alg/wombat.o        ../Alg/rational.o   ../Alg/bignum.o 

boolobjs = ../Bool/bool.kl1         ../Bool/bool_if.kl1 \
	   ../Bool/bool_solver.kl1

libp = ~/lib
FLAGS = -c -x./DB

#
# CREATE
#
all : alg_translator bool_translator

alg_translator : cmp
	klic -L${libp} -lgmp -lmp -o trans_alg -x./DB ${objs1} ${algobjs}

bool_translator : cmp
	klic -o trans_bool -x./DB ${objs1} ${boolobjs}

cmp : ${objs1} ${objs2}

main.o : main.kl1
	klic -c -x./DB main.kl1
parser.o : parser.kl1
	klic -c -x./DB parser.kl1
parms.o : parms.kl1
	klic -c -x./DB parms.kl1
var_util.o : var_util.kl1
	klic -c -x./DB var_util.kl1
variable.o : variable.kl1
	klic -c -x./DB variable.kl1
convert.o : convert.kl1
	klic -c -x./DB convert.kl1
wrapterm.o : wrapterm.kl1
	klic -c -x./DB wrapterm.kl1
ground.o : ground.kl1
	klic -c -x./DB ground.kl1
wconvert.o : wconvert.kl1
	klic -c -x./DB wconvert.kl1

var.o : var.kl1
	klic -c -x./DB var.kl1
diff.o : diff.kl1
	klic -c -x./DB diff.kl1
gdcc.o : gdcc.kl1
	klic -c -x./DB gdcc.kl1

#
reader.o : reader.kl1
	klic -c -x./DB reader.kl1

translator.o : translator.kl1
	klic -c -x./DB translator.kl1

transform.o : transform.kl1
	klic -c -x./DB transform.kl1

output.o : output.kl1
	klic -c -x./DB output.kl1

std_block.o : std_block.kl1
	klic -c -x./DB std_block.kl1

kl1cmp.o : kl1cmp.kl1
	klic -c -x./DB kl1cmp.kl1

pe_wspec.o : pe_wspec.kl1
	klic -c -x./DB pe_wspec.kl1

# klic compiler modules
gb.o : gb.kl1
	klic -c -x./DB gb.kl1
bb.o : bb.kl1
	klic -c -x./DB bb.kl1


#
# CLEAN
#
clean :
	rm -f *.o *.c *.ext *.h *.db *~ trans_alg trans_bool core
	rm -f ./DB/*.o ./DB/*.c ./DB/*.ext ./DB/*.h ./DB/*.db




