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
This commit is contained in:
George Joseph 2016-01-27 09:29:13 -07:00
parent a706ad44e6
commit c53903d447
1 changed files with 4 additions and 1 deletions

View File

@ -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