BINDIR = bin/
########################################
KLIC = klic
CC = gcc
CFLAGS = -O2
########################################
KLICandCC = $(KLIC) -o $(BINDIR)$@ $(CFLAGS) $?
########################################

all: prepro prover nhm

########################################
prepro: rchk dom mercpat mg2klic nhmmode nhmtrans nhmfilter nhmdel tptp2mgtp
########################################

rchk: rangeCheck.kl1
	$(KLICandCC)

dom: dom.kl1
	$(KLICandCC)

mercpat: mercpat.kl1 unify.kl1
	$(KLICandCC)

mg2klic: mg2klic.kl1 fm.kl1 unify.kl1
	$(KLICandCC)

nhmmode: nhmmode.kl1
	$(KLICandCC)

nhmtrans: nhmtrans.kl1
	$(KLICandCC)

nhmfilter: nhmfilter.kl1
	$(KLICandCC)

nhmdel: nhmdel.kl1
	$(KLICandCC)

tptp2mgtp: tptp2mgtp.kl1
	$(KLICandCC)

########################################
prover: intMercNW intMercNWFU intCMercNW intCDEMercNW
########################################

intMercNW: intMercNW.kl1 termMemoryG.kl1 matchNW.kl1
	$(KLICandCC)

intMercNWFU: intMercNWFU.kl1 termMemoryG.kl1 matchNW.kl1
	$(KLICandCC)

intCMercNW: intCMercNW.kl1 termMemoryG.kl1 matchNW.kl1
	$(KLICandCC)

intCDEMercNW: intCDEMercNW.kl1 termMemoryG.kl1 matchNW.kl1
	$(KLICandCC)

########################################
nhm: mgnhm rmirrelevant
########################################

mgnhm:
	cp ../sh/mgnhm $(BINDIR)

rmirrelevant:
	cp ../sh/rmirrelevant $(BINDIR)

########################################
#CLEAN UP
########################################

clean:
	rm -f *.o *.c *.ext funct.* atom.* klic.db *~
