-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
50 lines (40 loc) · 1.34 KB
/
Makefile
File metadata and controls
50 lines (40 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- Makefile -*-
# --------------------------------------------------------------------
DUNEOPTS ?=
DUNE := dune
NAME := coq-mathcomp-quantum
DISTDIR := $(NAME)
SED := sed
TAR := tar
REPO := default=https://opam.ocaml.org,coq-released=https://coq.inria.fr/opam/released
# --------------------------------------------------------------------
.PHONY: default build build-local opam clean mrproper dist distcheck
default: build
build:
$(DUNE) build $(DUNEOPTS)
build-local: opam
opam config exec -- $(DUNE) build --root=. $(DUNEOPTS)
opam:
[ -d _opam ] || opam switch create --yes --deps-only --repositories=$(REPO) .
clean:
$(DUNE) clean
mrproper: clean
rm -rf _opam
dist:
rm -rf $(DISTDIR) $(NAME).tar.gz
./scripts/distribution $(DISTDIR) MANIFEST
$(TAR) -czf $(NAME).tar.gz --owner=0 --group=0 $(DISTDIR)
rm -rf $(DISTDIR)
distcheck: dist
$(TAR) -xof $(NAME).tar.gz
set -x; \
$(MAKE) -C $(DISTDIR) build-local \
&& $(MAKE) -C $(DISTDIR) dist \
&& mkdir $(DISTDIR)/dist1 $(DISTDIR)/dist2 \
&& ( cd $(DISTDIR)/dist1 && tar -xof ../$(NAME).tar.gz ) \
&& ( cd $(DISTDIR)/dist2 && tar -xof ../../$(NAME).tar.gz ) \
&& diff -rq $(DISTDIR)/dist1 $(DISTDIR)/dist2 \
|| exit 1
rm -rf $(DISTDIR)
@echo "$(DISTDIR) is ready for distribution" | \
$(SED) -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'