aboutsummaryrefslogtreecommitdiff
path: root/Makefile.dune
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.dune')
-rw-r--r--Makefile.dune61
1 files changed, 46 insertions, 15 deletions
diff --git a/Makefile.dune b/Makefile.dune
index 2293c69c38..ee3e2d6cb7 100644
--- a/Makefile.dune
+++ b/Makefile.dune
@@ -1,7 +1,11 @@
# -*- mode: makefile -*-
# Dune Makefile for Coq
-.PHONY: help voboot states world watch check quickbyte quickopt test-suite release apidoc ocheck ireport clean
+.PHONY: help voboot states world watch check # Main developer targets
+.PHONY: coq coqide coqide-server # Package targets
+.PHONY: quickbyte quickopt # Partial / quick developer targets
+.PHONY: test-suite refman-html apidoc release # Accesory targets
+.PHONY: ocheck trunk ireport clean # Maintenance targets
# use DUNEOPT=--display=short for a more verbose build
# DUNEOPT=--display=short
@@ -10,16 +14,26 @@ 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 " - watch: build all binaries and libraries [continuous build]"
- @echo " - check: build all ML files as fast as possible [requires Dune >= 1.5.0]"
- @echo " - quickbyte: build main ML files [coqtop + plugins + ide + printers] using the bytecode compiler"
- @echo " - quickopt: build main ML files [coqtop + plugins + ide + printers] using the optimizing compiler"
- @echo " - test-suite: run Coq's test suite"
- @echo " - release: build Coq in release mode"
- @echo " - apidoc: build ML API documentation"
+ @echo ""
+ @echo " - states: build a minimal functional coqtop"
+ @echo " - world: build all binaries and libraries"
+ @echo " - watch: build all binaries and libraries [continuous build]"
+ @echo " - check: build all ML files as fast as possible"
+ @echo ""
+ @echo " - coq: build package Coq [toplevel compilers, tools, stdlib, no GTK]"
+ @echo " - coqide-server: build package coqide-server [XML protocol language server]"
+ @echo " - coqide: build package CoqIDE [gtk application]"
+ @echo ""
+ @echo " - quickbyte: build main ML files [coqtop + plugins + ide + printers] using the bytecode compiler"
+ @echo " - quickopt: build main ML files [coqtop + plugins + ide + printers] using the optimizing compiler"
+ @echo ""
+ @echo " - test-suite: run Coq's test suite"
+ @echo " - refman-html: build Coq's reference manual [HTML version]"
+ @echo " - apidoc: build ML API documentation"
+ @echo " - release: build Coq in release mode"
+ @echo ""
@echo " - ocheck: build for all supported OCaml versions [requires OPAM]"
+ @echo " - trunk: build with a configuration compatible with OCaml trunk"
@echo " - ireport: build with optimized flambda settings and emit an inline report"
@echo " - clean: remove build directory and autogenerated files"
@echo " - help: show this message"
@@ -34,6 +48,15 @@ states: voboot
world: voboot
dune build $(DUNEOPT) @install
+coq: voboot
+ dune build $(DUNEOPT) coq.install
+
+coqide: voboot
+ dune build $(DUNEOPT) coqide.install
+
+coqide-server: voboot
+ dune build $(DUNEOPT) coqide-server.install
+
watch: voboot
dune build $(DUNEOPT) @install -w
@@ -55,15 +78,23 @@ quickopt: voboot
test-suite: voboot
dune runtest $(DUNEOPT)
-release: voboot
- dune build $(DUNEOPT) -p coq
+refman-html: voboot
+ dune build @refman-html
apidoc: voboot
dune build $(DUNEOPT) @doc
+release: voboot
+ dune build $(DUNEOPT) -p coq
+
ocheck: voboot
dune build $(DUNEOPT) @install --workspace=dev/dune-workspace.all
+trunk:
+ dune build $(DUNEOPT) --profile=ocaml408 @vodeps
+ dune exec coq_dune $(BUILD_CONTEXT)/.vfiles.d
+ dune build $(DUNEOPT) --profile=ocaml408 coq.install coqide-server.install
+
ireport:
dune clean
dune build $(DUNEOPT) @vodeps --profile=ireport
@@ -73,11 +104,11 @@ ireport:
clean:
dune clean
-# Other common dev targets
+# Other common dev targets:
#
# dune build coq.install
-# dune build ide/coqide.install
-
+# dune build coqide.install
+#
# Packaging / OPAM targets:
#
# dune -p coq @install