From 53770b7d73fce76e50b15ed7f5fb2333e981cc81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Date: Mon, 21 Sep 2020 15:32:07 +0200 Subject: [PATCH] Update rabbitmq-components.mk --- rabbitmq-components.mk | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/rabbitmq-components.mk b/rabbitmq-components.mk index c8a8cfc..5da6227 100644 --- a/rabbitmq-components.mk +++ b/rabbitmq-components.mk @@ -317,26 +317,39 @@ prepare-dist:: # -------------------------------------------------------------------- # If the top-level project is a RabbitMQ component, we override -# $(DEPS_DIR) for this project to point to the top-level's one. We also -# disable `make distclean` so $(DEPS_DIR) is not accidentally removed. - -ifneq ($(wildcard ../../rabbitmq-components.mk),) -supposed_deps_dir = $(abspath ..) -else ifneq ($(wildcard ../../../../rabbitmq-components.mk),) -supposed_deps_dir = $(abspath ../../..) -else ifneq ($(wildcard UMBRELLA.md),) +# $(DEPS_DIR) for this project to point to the top-level's one. +# +# We also verify that the guessed DEPS_DIR is actually named `deps`, +# to rule out any situation where it is a coincidence that we found a +# `rabbitmq-components.mk` up upper directories. + +possible_deps_dir_1 = $(abspath ..) +possible_deps_dir_2 = $(abspath ../../..) + +ifeq ($(notdir $(possible_deps_dir_1)),deps) +ifneq ($(wildcard $(possible_deps_dir_1)/../rabbitmq-components.mk),) +deps_dir_overriden = 1 +DEPS_DIR ?= $(possible_deps_dir_1) DISABLE_DISTCLEAN = 1 endif +endif -# We also verify that the guessed DEPS_DIR is actually named `deps`, to rule -# out any situation where it is a coincidence that we found a -# `rabbitmq-components.mk` up upper directories. +ifeq ($(deps_dir_overriden),) +ifeq ($(notdir $(possible_deps_dir_2)),deps) +ifneq ($(wildcard $(possible_deps_dir_2)/../rabbitmq-components.mk),) +deps_dir_overriden = 1 +DEPS_DIR ?= $(possible_deps_dir_2) +DISABLE_DISTCLEAN = 1 +endif +endif +endif -ifeq ($(notdir $(supposed_deps_dir)),deps) +ifneq ($(wildcard UMBRELLA.md),) DISABLE_DISTCLEAN = 1 -DEPS_DIR ?= $(supposed_deps_dir) endif +# We disable `make distclean` so $(DEPS_DIR) is not accidentally removed. + ifeq ($(DISABLE_DISTCLEAN),1) ifneq ($(filter distclean distclean-deps,$(MAKECMDGOALS)),) SKIP_DEPS = 1