VERSION=0.1

ifdef CVC_DIR
REAL_CVC_DIR=$(realpath $(CVC_DIR))
CVC_INCLUDE_DIR=$(REAL_CVC_DIR)/src/include
CVC_LIB=$(REAL_CVC_DIR)/lib/libcvc3.a
endif

ifndef CVC_INCLUDE_DIR 
CVC_INCLUDE_DIR=/usr/local/include/cvc3
endif 	 

ifndef CVC_LIB 
CVC_LIB=/usr/local/lib/libcvc3.a	
endif 	 

CVC_C_INTERFACE=$(CVC_INCLUDE_DIR)/c_interface.h

FILES = alias.ml ml_interface.c ml_interface.ml  array.ml meta_thms.ml trans.ml cvchol.ml util.ml Makefile README cvchol.html

EXAMPLE_DIR=examples
EXEC_BIN=cvc_hol

TAR_DIR=cvchol
TAR_FILE=$(TAR_DIR)-$(VERSION).tar.gz


# %.cmo : %.ml
#	ocamlc -c $< -o $@

# %.o : %.c
#	ocamlc -ccopt -I$(CVC_INCLUDE_DIR) -c $< -o $@

cvc_hol : ml_interface.c ml_interface.ml
# test if c_interface can be found 
ifneq (,$(strip $(wildcard $(CVC_C_INTERFACE)))) 
# test if libcvc3 can be found 
ifneq (,$(strip $(wildcard $(CVC_LIB)))) 
	ocamlmktop -o $(EXEC_BIN) -custom \
	-ccopt -I$(CVC_INCLUDE_DIR) ml_interface.c ml_interface.ml \
	unix.cma nums.cma  -cclib -lstdc++  -cclib -lgmp -cclib $(CVC_LIB) 
else 
	@echo "Could not find $(CVC_LIB)"
endif
else 
	@echo "Could not find $(CVC_C_INTERFACE)"
endif
 
clean : 
	@rm -f *.o
	@rm -f *.cm*
	@rm -f $(EXEC_BIN)
dist:
	@mkdir -p $(TAR_DIR)
	@cp -r $(FILES) $(TAR_DIR) 
	@cp -r $(EXAMPLE_DIR) $(TAR_DIR)
	@tar zcfv $(TAR_FILE) $(TAR_DIR)
	@rm -r $(TAR_DIR)	
