Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Lennard Gäher
Iris
Commits
8e835339
Commit
8e835339
authored
Oct 06, 2020
by
Ralf Jung
Browse files
update build system
parent
6e19b458
Changes
3
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
8e835339
...
...
@@ -14,7 +14,7 @@
*.bak
.coqdeps.d
.coq-native/
build
-
dep/
builddep/
Makefile.coq
Makefile.coq.conf
*.crashcoqide
...
...
Makefile
View file @
8e835339
# Default target
all
:
Makefile.coq
+@make
-f
Makefile.coq all
.PHONY
:
all
# Permit local customization
-include
Makefile.local
# Forward most targets to Coq makefile (with some trick to make this phony)
%
:
Makefile.coq phony
@
#echo "Forwarding $@"
+@make
-f
Makefile.coq
$@
all
:
Makefile.coq
+@make
-f
Makefile.coq all
.PHONY
:
all
phony
:
;
.PHONY
:
phony
clean
:
Makefile.coq
+@make
-f
Makefile.coq clean
find theories tests exercises solutions
\(
-name
"*.d"
-o
-name
"*.vo"
-o
-name
"*.vo[sk]"
-o
-name
"*.aux"
-o
-name
"*.cache"
-o
-name
"*.glob"
-o
-name
"*.vio"
\)
-print
-delete
||
true
rm
-f
Makefile.coq .lia.cache
rm
-f
Makefile.coq .lia.cache
builddep/
*
.PHONY
:
clean
# Create Coq Makefile.
...
...
@@ -20,27 +24,31 @@ Makefile.coq: _CoqProject Makefile
"
$(COQBIN)
coq_makefile"
-f
_CoqProject
-o
Makefile.coq
$(EXTRA_COQFILES)
# Install build-dependencies
build-dep/opam
:
opam Makefile
@
echo
"# Creating build-dep package."
@
mkdir
-p
build-dep
@
sed
<opam
-E
's/^(build|install|remove):.*/\1: []/; s/^name: *"(.*)" */name: "\1-builddep"/'
>
build-dep/opam
@
fgrep builddep build-dep/opam
>
/dev/null
||
(
echo
"sed failed to fix the package name"
&&
exit
1
)
# sanity check
OPAMFILES
=
$(
wildcard
*
.opam
)
BUILDDEPFILES
=
$(
addsuffix
-builddep
.opam,
$(
addprefix
builddep/,
$(
basename
$(OPAMFILES)
)))
builddep/%-builddep.opam
:
%.opam Makefile
@
echo
"# Creating builddep package for
$<
."
@
mkdir
-p
builddep
@
sed
<
$<
-E
's/^(build|install|remove):.*/\1: []/; s/"(.*)"(.*= *version.*)$$/"\1-builddep"\2/;'
>
$@
build-dep
:
build-dep/opam phony
builddep-opamfiles
:
$(BUILDDEPFILES)
.PHONY
:
builddep-opamfiles
builddep
:
builddep-opamfiles
@
# We want opam to not just instal the build-deps now, but to also keep satisfying these
@
# constraints. Otherwise, `opam upgrade` may well update some packages to versions
@
# that are incompatible with our build requirements.
@
# To achieve this, we create a fake opam package that has our build-dependencies as
@
# dependencies, but does not actually install anything itself.
@
echo
"# Installing build-dep package."
@
opam
install
$(OPAMFLAGS)
build-dep/
@
echo
"# Installing builddep packages."
@
opam
install
$(OPAMFLAGS)
$(BUILDDEPFILES)
.PHONY
:
builddep
# Some files that do *not* need to be forwarded to Makefile.coq
Makefile
:
;
_CoqProject
:
;
opam
:
;
Makefile.local
:
;
# Backwards compatibility target
build-dep
:
builddep
.PHONY
:
build-dep
#
Phony wildcard targets
phony
:
;
.PHONY
:
phony
#
Some files that do *not* need to be forwarded to Makefile.coq.
# ("::" lets Makefile.local overwrite this.)
Makefile Makefile.local _CoqProject $(OPAMFILES)
::
;
opam
→
coq-iris.
opam
View file @
8e835339
opam-version: "2.0"
name: "coq-iris"
maintainer: "Ralf Jung <jung@mpi-sws.org>"
authors: "The Iris Team"
license: "BSD-3-Clause"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment