aboutsummaryrefslogtreecommitdiff
path: root/Makefile.dune
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.dune')
-rw-r--r--Makefile.dune39
1 files changed, 39 insertions, 0 deletions
diff --git a/Makefile.dune b/Makefile.dune
new file mode 100644
index 0000000000..6056151c0d
--- /dev/null
+++ b/Makefile.dune
@@ -0,0 +1,39 @@
+# -*- mode: makefile -*-
+# Dune Makefile for Coq
+
+.PHONY: help voboot states world apidoc
+
+# use DUNEOPT=--display=short for a more verbose build
+# DUNEOPT=--display=short
+
+BUILD_CONTEXT=_build/default
+
+help:
+ @echo "Welcome to Coq's Dune-based build system. Targets are:"
+ @echo " - states: build a minimal functional coqtop"
+ @echo " - world: build all binaries and libraries"
+ @echo " - clean: remove build directory and autogenerated files"
+ @echo " - help: show this message"
+
+voboot:
+ dune build $(DUNEOPT) @vodeps
+ dune exec coq_dune $(BUILD_CONTEXT)/.vfiles.d
+
+states: voboot
+ dune build $(DUNEOPT) theories/Init/Prelude.vo
+
+world: voboot
+ dune build $(DUNEOPT) @install
+
+clean:
+ dune clean
+
+# Other common dev targets
+#
+# dune build coq.install
+# dune build ide/coqide.install
+
+# Packaging / OPAM targets:
+#
+# dune -p coq @install
+# dune -p coqide @install