From aee8448bc24d6da80dda577cfc14b6c9055577a0 Mon Sep 17 00:00:00 2001 From: George Joseph <george.joseph@fairview5.com> Date: Wed, 27 Jan 2016 09:29:13 -0700 Subject: [PATCH] build_system: Prevent goals needing makeopts from running when it's missing The Makefile only optionally includes makeopts so when goals like uninstall that dont depend on anything else are run after a distclean, rules like 'rm -f "$(DESTDIR)$(ASTMODDIR)/"*' get run as 'rm -f ""/*' which attempts to remove everything in the root directory. Although there's a rule defined for makeopts which prints a message and does an 'exit 1', since '-include makepopts' was specified (with the -), the exit was ignored letting the rest of the rules run. This patch makes makeopts required unless the goal has the string 'clean' in it. ASTERISK-25730 #close Reported-by: George Joseph Change-Id: I1bce59a7ea4f48e7a468e22b2abbb13c63417ac7 --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5a729ed07b..dd5005693d 100644 --- a/Makefile +++ b/Makefile @@ -100,7 +100,10 @@ export LDCONFIG export LDCONFIG_FLAGS export PYTHON --include makeopts +# makeopts is required unless the goal is clean or distclean +ifeq ($(findstring clean,$(MAKECMDGOALS)),) +include makeopts +endif # start the primary CFLAGS and LDFLAGS with any that were provided # to the configure script -- GitLab