12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- .DEFAULT_GOAL := all
- .PHONY: all
- all:
- opam exec -- dune build --root . @install
- .PHONY: deps
- deps: ## Install development dependencies
- opam install -y dune-release ocamlformat utop ocaml-lsp-server
- opam install --deps-only --with-test --with-doc -y .
- .PHONY: create_switch
- create_switch: ## Create an opam switch without any dependency
- opam switch create . --no-install -y
- .PHONY: switch
- switch: ## Create an opam switch and install development dependencies
- opam install . --deps-only --with-doc --with-test
- opam install -y dune-release ocamlformat utop ocaml-lsp-server
- .PHONY: build
- build: ## Build the project, including non installable libraries and executables
- opam exec -- dune build --root .
- .PHONY: test
- test: ## Run the unit tests
- opam exec -- dune runtest --root .
- .PHONY: clean
- clean: ## Clean build artifacts and other generated files
- opam exec -- dune clean --root .
- .PHONY: doc
- doc: ## Generate odoc documentation
- opam exec -- dune build --root . @doc
- .PHONY: fmt
- fmt: ## Format the codebase with ocamlformat
- opam exec -- dune build --root . --auto-promote @fmt
- .PHONY: watch
- watch: ## Watch for the filesystem and rebuild on every change
- opam exec -- dune build --root . --watch
|