diff --git a/Makefile b/Makefile index 2ae354dfe82494fbec2d519b5b0feae5b9f9c901..3644fec8947d1b2824d571b6a048d8f66813019e 100644 --- a/Makefile +++ b/Makefile @@ -24,11 +24,13 @@ build-dep: phony @# To achieve this, we create a fake opam package that has our build-dependencies as @# dependencies, but does not actually install anything. mkdir -p build-dep - @echo "build-dep package is $$BUILD_DEP_PACKAGE" - sed <opam 's/^\(build\|install\|remove\):.*/\1: []/; s/^name: *"\(.*\)" */name: "\1-builddep"/' > build-dep/opam + @sed <opam '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 - @# Compute the package name, add the pin and install it - opam pin add "$$(egrep "^name:" build-dep/opam | sed 's/^name: *"\(.*\)" */\1/')" "$$(pwd)/build-dep" -k path $(OPAMFLAGS) + @# Compute the package name, add the pin and (re)install it. Reinstallation is needed + @# in case the pin already exists, but the builddep package changed. + @BUILD_DEP_PACKAGE="$$(egrep "^name:" build-dep/opam | sed 's/^name: *"\(.*\)" */\1/')"; \ + opam pin add "$$BUILD_DEP_PACKAGE" "$$(pwd)/build-dep" -k path $(OPAMFLAGS) && \ + opam reinstall "$$BUILD_DEP_PACKAGE" # Some files that do *not* need to be forwarded to Makefile.coq Makefile: ;