From 2b7e434f7327b7fdda72950e27f8fc0a27de2547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Date: Tue, 25 Jun 2019 14:18:43 +0200 Subject: Accept a list of deps to forcibly rebuild in `$(FORCE_REBUILD)` ... in addition to the `$(force_rebuild_dep)` function. It's easier for the common use case than specify a function. --- core/deps.mk | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'core/deps.mk') diff --git a/core/deps.mk b/core/deps.mk index 4146cc0..8c5543a 100644 --- a/core/deps.mk +++ b/core/deps.mk @@ -120,6 +120,25 @@ ifeq ($(IS_APP)$(IS_DEP),) $(verbose) rm -f $(ERLANG_MK_TMP)/apps.log $(ERLANG_MK_TMP)/deps.log endif +# Erlang.mk does not rebuild dependencies after they were compiled +# once. If a developer is working on the top-level project and some +# dependencies at the same time, he may want to change this behavior. +# There are two solutions: +# 1. Set `FULL=1` so that all dependencies are visited and +# recursively recompiled if necessary. +# 2. Set `FORCE_REBUILD=` to the specific list of dependencies that +# should be recompiled (instead of the whole set). + +FORCE_REBUILD ?= + +ifeq ($(origin FULL),undefined) +ifneq ($(strip $(force_rebuild_dep)$(FORCE_REBUILD)),) +define force_rebuild_dep +echo "$(FORCE_REBUILD)" | grep -qw "$$(basename "$1")" +endef +endif +endif + ifneq ($(SKIP_DEPS),) deps:: else -- cgit v1.2.3