|
1 | 1 | .DEFAULT_GOAL := all |
2 | 2 |
|
3 | 3 | .PHONY: all |
4 | | -all: |
5 | | - opam exec -- dune build --root . |
| 4 | +all: dune.lock |
| 5 | + dune build --root . |
6 | 6 |
|
7 | | -.PHONY: deps |
8 | | -deps: create_switch ## Install development dependencies |
9 | | - opam install -y ocamlformat=0.26.2 ocaml-lsp-server |
10 | | - opam install -y --deps-only --with-test --with-doc . |
11 | | - |
12 | | -.PHONY: create_switch |
13 | | -create_switch: ## Create switch and pinned opam repo |
14 | | - opam switch create . 5.2.0 --no-install --repos pin=git+https://github.com/ocaml/opam-repository#584630e7a7e27e3cf56158696a3fe94623a0cf4f |
15 | | - |
16 | | -.PHONY: switch |
17 | | -switch: deps ## Create an opam switch and install development dependencies |
18 | | - |
19 | | -.PHONY: lock |
20 | | -lock: ## Generate a lock file |
21 | | - opam lock -y . |
| 7 | +dune.lock: ## Generate a lock file |
| 8 | + dune pkg lock |
22 | 9 |
|
23 | 10 | .PHONY: build |
24 | | -build: ## Build the project, including non installable libraries and executables |
25 | | - opam exec -- dune build --root . |
| 11 | +build: dune.lock ## Build the project, including non installable libraries and executables |
| 12 | + dune build --root . |
26 | 13 |
|
27 | 14 | .PHONY: playground |
28 | 15 | playground: |
29 | 16 | make build -C playground |
30 | 17 |
|
31 | 18 | .PHONY: install |
32 | 19 | install: all ## Install the packages on the system |
33 | | - opam exec -- dune install --root . |
| 20 | + dune install --root . |
34 | 21 |
|
35 | 22 | .PHONY: start |
36 | 23 | start: all ## Run the produced executable |
37 | | - opam exec -- dune exec src/ocamlorg_web/bin/main.exe |
| 24 | + dune exec src/ocamlorg_web/bin/main.exe |
38 | 25 |
|
39 | 26 | .PHONY: test |
40 | 27 | test: ## Run the unit tests |
41 | | - opam exec -- dune build --root . @runtest |
| 28 | + dune build --root . @runtest |
42 | 29 |
|
43 | 30 | .PHONY: clean |
44 | 31 | clean: ## Clean build artifacts and other generated files |
45 | | - opam exec -- dune clean --root . |
| 32 | + dune clean --root . |
46 | 33 |
|
47 | 34 | .PHONY: doc |
48 | 35 | doc: ## Generate odoc documentation |
49 | | - opam exec -- dune build --root . @doc |
| 36 | + dune build --root . @doc |
50 | 37 |
|
51 | 38 | .PHONY: fmt |
52 | 39 | fmt: ## Format the codebase with ocamlformat |
53 | | - opam exec -- dune build --root . --auto-promote @fmt |
| 40 | + dune build --root . --auto-promote @fmt |
54 | 41 |
|
55 | 42 | .PHONY: watch |
56 | 43 | watch: ## Watch for the filesystem and rebuild on every change |
57 | | - opam exec -- dune build @run -w --force --no-buffer |
| 44 | + dune build @run -w --force --no-buffer |
58 | 45 |
|
59 | 46 | .PHONY: utop |
60 | 47 | utop: ## Run a REPL and link with the project's libraries |
61 | | - opam exec -- dune utop --root . . -- -implicit-bindings |
| 48 | + dune utop --root . . -- -implicit-bindings |
62 | 49 |
|
63 | 50 | .PHONY: scrape |
64 | 51 | scrape: ## Generate the po files |
65 | | - opam exec -- dune exec --root . tool/ood-gen/bin/scrape.exe planet |
66 | | - opam exec -- dune exec --root . tool/ood-gen/bin/scrape.exe video |
| 52 | + dune exec --root . tool/ood-gen/bin/scrape.exe planet |
| 53 | + dune exec --root . tool/ood-gen/bin/scrape.exe video |
67 | 54 |
|
68 | 55 | .PHONY: docker |
69 | 56 | docker: ## Generate docker container |
70 | 57 | docker build -f Dockerfile . -t ocamlorg:latest |
71 | 58 |
|
72 | 59 | .PHONY: linkcheck |
73 | 60 | linkcheck: |
74 | | - opam exec -- dune exec --root . olinkcheck md data |
| 61 | + dune exec --root . olinkcheck md data |
0 commit comments