LIBCAMLRUN= -cclib /usr/lib/ocaml/libcamlrun.a CAMLMKTOP= ocamlmktop CC= g++ test: test.ml cell.cma ocamlc -cc $(CC) -o test.out cell.cma test.ml ./test.out cell.cma: cell.ml cell_stub.cpp libcell.o $(CC) -c cell_stub.cpp ocamlc -cc $(CC) -c cell.ml ocamlc -cc $(CC) -a -o cell.cma -custom cell_stub.o cell.cmo \ libcell.o $(LIBCAMLRUN) test1: test.ml cell1.cma ocamlc -cc $(CC) -o test1.out cell1.cma test.ml ./test1.out cell1.cma: cell.ml cell_stub1.cpp libcell.o $(CC) -c cell_stub1.cpp ocamlc -cc $(CC) -c cell.ml ocamlc -cc $(CC) -a -o cell1.cma -custom cell_stub1.o cell.cmo \ libcell.o $(LIBCAMLRUN) libcell.o: libcell.cpp libcell.h $(CC) -c libcell.cpp cell_ocaml: $(CAMLMKTOP) -cc $(CC) -custom cell.cma -o $@ clean: rm -f *~ *.out *.o *.cm[aoi]