aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rwxr-xr-xMakefile44
1 files changed, 44 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100755
index 0000000..a792dd6
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,44 @@
+OCAMLBUILD ?= ocamlbuild
+PACKAGES=num,curses,camlzip,ezxmlm,text,calendar,menhirLib
+PATHS=.,odf
+
+MENHIR=-use-menhir
+
+LIB = licht
+LIB_STUB = $(LIB)_stub
+
+STUB_OPTIONS=-lflags -ccopt,-L.,-cclib,-l$(LIB_STUB)
+BYTE_STUB_OPTIONS=$(STUB_OPTIONS)#,-dllib,-l$(LIB_STUB)
+
+.PHONY: stub
+
+all: native
+
+stub:
+ $(MAKE) -C stub LIB=$(LIB)
+
+deps:
+ opam install ocamlbuild curses camlzip ezxmlm ounit text menhir calendar
+
+byte: stub
+ $(OCAMLBUILD) -pkgs $(PACKAGES) $(STUB_OPTIONS) $(MENHIR) -Is $(PATHS) main.byte
+
+native: stub
+ $(OCAMLBUILD) -pkgs $(PACKAGES) $(STUB_OPTIONS) $(MENHIR) -Is $(PATHS) main.native
+
+doc:
+ $(OCAMLBUILD) -pkgs $(PACKAGES) -menhir -Is $(PATHS) licht.docdir/index.html
+
+test: stub
+ $(OCAMLBUILD) -pkgs $(PACKAGES),oUnit -cflag -g -lflag -g $(STUB_OPTIONS) $(MENHIR) -Is $(PATHS),tests test.byte --
+
+relink: stub
+ rm -f _build/main.native
+ rm -f _build/main.byte
+ rm -f _build/tests.byte
+ make
+
+clean:
+ make -C stub clean
+ $(OCAMLBUILD) -clean
+