summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile34
1 files changed, 34 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6430738
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,34 @@
+DUNE ?= dune
+
+.DEFAULT_GOAL := help
+.PHONY: help test lint format build check clean doc
+
+help:
+ @echo 'Targets:'
+ @echo ' test run the test suite'
+ @echo ' lint check formatting with ocamlformat (read-only)'
+ @echo ' format apply ocamlformat (writes)'
+ @echo ' build build the library'
+ @echo ' check lint + test + build, in that order'
+ @echo ' doc build the odoc documentation'
+ @echo ' clean remove build artefacts'
+
+test:
+ $(DUNE) runtest --force --no-buffer
+
+lint:
+ $(DUNE) build @fmt
+
+format:
+ $(DUNE) fmt
+
+build:
+ $(DUNE) build @install
+
+check: lint test build
+
+doc:
+ $(DUNE) build @doc
+
+clean:
+ $(DUNE) clean