aboutsummaryrefslogtreecommitdiff
path: root/Makefile.dune
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2018-09-19 02:50:29 +0200
committerEmilio Jesus Gallego Arias2018-12-13 15:40:38 +0100
commitddb3fae72826c0da3ba449be4ebc72e44c1ace16 (patch)
tree8f0f6cb37ef357537d39e0d5e285011fc218d69e /Makefile.dune
parent228f0d929bb5098d58cd285fde42bb08d70c6ee8 (diff)
[dune] [doc] Support for building the reference manual with Dune.
This is a reduced version of #8503 as to provide a way to build the reference manual with Dune. Dune 1.6 supports (experimentally) directories as targets, thus we introduce a rule that will call `sphinx` to build the manual. This only provides build, however generation of `.install` rules is not done, it will be hopefully addressed in #8503. Note that we set `expire: 1 month` for all the artifacts we build with Dune. IMHO this makes most sense as not to abuse Gitlab's hosting, however of course we could consider a different deployment strategy if wanted.
Diffstat (limited to 'Makefile.dune')
-rw-r--r--Makefile.dune35
1 files changed, 23 insertions, 12 deletions
diff --git a/Makefile.dune b/Makefile.dune
index 2293c69c38..4baf3402f1 100644
--- a/Makefile.dune
+++ b/Makefile.dune
@@ -1,7 +1,10 @@
# -*- 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: quickbyte quickopt # Partial / quick developer targets
+.PHONY: test-suite refman-html apidoc release # Accesory targets
+.PHONY: ocheck ireport clean # Maintenance targets
# use DUNEOPT=--display=short for a more verbose build
# DUNEOPT=--display=short
@@ -10,15 +13,20 @@ 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 " - 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 " - ireport: build with optimized flambda settings and emit an inline report"
@echo " - clean: remove build directory and autogenerated files"
@@ -55,12 +63,15 @@ 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