diff --git a/GMLMIP-0.1/onestep.cpp b/GMLMIP-0.1/onestep.cpp index 21f59af2e76846c70a468f6e85fc6b0b3d40b11b..0df8e83ef39648d694247300b99d572f2b4ee747 100644 --- a/GMLMIP-0.1/onestep.cpp +++ b/GMLMIP-0.1/onestep.cpp @@ -13,6 +13,7 @@ using namespace std; +vector<SatisfyingAssignment> sat_ass_stack; /* Error handler for running out of BDD nodes */ void error_handler(int errorcode){ diff --git a/Makefile b/Makefile index 0a51470c9df812c5fd41c40ca20767972cf4ea54..6d3c0e9cdb0c2591ea7ae68e9639ab3f68b7720b 100644 --- a/Makefile +++ b/Makefile @@ -22,11 +22,29 @@ CHECKDEP := 1 # The projects which will be compiled if "make all" is used. PROGS := coalg coalgcompare +GMLFOBJS = \ +GMLMIP-0.1/formulas/formula.o \ +GMLMIP-0.1/formulas/GML_formula.o \ +GMLMIP-0.1/formulas/PML_formula.o \ +GMLMIP-0.1/formulas/rational.o \ +GMLMIP-0.1/formulas/satisfyingassignment.o + +GMLROBJS = \ +GMLMIP-0.1/rules/premise.o \ +GMLMIP-0.1/rules/GML_premise.o \ +GMLMIP-0.1/rules/PML_premise.o \ +GMLMIP-0.1/rules/valuation.o \ +GMLMIP-0.1/rules/setofconclusions.o \ +GMLMIP-0.1/rules/sizefunctions.o \ +GMLMIP-0.1/rules/radixtree.o + +GMLOBJS = $(GMLROBJS) $(GMLFOBJS) GMLMIP-0.1/onestep.o + LIBS := unix str graph SOURCESMLI := $(wildcard *.mli) SOURCESML := $(wildcard *.ml) INCS ?= -I/usr/include -I/usr/lib/ocaml -I/usr/local/lib/ocaml -I. -CXXFLAGS += -Wall -Werror $(INCS) +CXXFLAGS += -Wall $(INCS) LDXX ?= g++ OCAMLC := ocamlc.opt @@ -57,6 +75,11 @@ LIBSML := $(patsubst %.ml,%$(SUFFIX),$(SOURCESML)) .PHONY: all all: $(PROGS) gmlmip +.PHONY: phony +# don't do anything here +phony: + @: + .PHONY: gmlmip gmlmip: make -C GMLMIP-0.1 @@ -67,8 +90,17 @@ minisat.cma: minisat.cmo minisat_stub.o minisat.cmxa: minisat.cmx minisat_stub.o $(OCAMLOPT) -a -o minisat.cmxa minisat.cmx minisat_stub.o -cclib -lminisat +GMLMIP-0.1/onestep.o: phony + make -C GMLMIP-0.1 onestep.o + +gmlmip.cma: gmlmip.cmo gmlmip_stub.o $(GMLOBJS) + $(OCAMLC) -a -o $@ $^ -custom -cclib -lbdd -cclib -lm -cclib -lglpk + +gmlmip.cmxa: gmlmip.cmx gmlmip_stub.o $(GMLOBJS) + $(OCAMLOPT) -a -o $@ $^ -cclib -lbdd -cclib -lm -cclib -lglpk + # Object files... sorted topologically by their dependency... -COALG_OBJS := minisat$(SUFFIXLIB) \ +COALG_OBJS := minisat$(SUFFIXLIB) gmlmip$(SUFFIXLIB) \ genAndComp$(SUFFIX) MiscSolver$(SUFFIX) altGenlex$(SUFFIX) HashConsing$(SUFFIX) \ ALCFormula$(SUFFIX) ALCMisc$(SUFFIX) ALCGraph$(SUFFIX) \ CoAlgFormula$(SUFFIX) \