]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
build_system: Prevent goals needing makeopts from running when it's missing 98/2098/1
authorGeorge Joseph <george.joseph@fairview5.com>
Wed, 27 Jan 2016 16:29:13 +0000 (09:29 -0700)
committerGeorge Joseph <george.joseph@fairview5.com>
Wed, 27 Jan 2016 16:31:05 +0000 (09:31 -0700)
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

index 5a729ed07b610a317c89a6eb3139a568c4e4ce63..dd5005693d6575460c076d554678676fd1355492 100644 (file)
--- 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