mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-03 20:01:16 +00:00
ec81852f46
Automake has builtin support to prevent botched conditional nesting, but only if you use: if FOO else !FOO endif !FOO An example error message when using the wrong name: daemon/Makefile.am:378: error: else reminder (LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE) incompatible with current conditional: LIBVIRT_INIT_SCRIPT_SYSTEMD_FALSE daemon/Makefile.am:381: error: endif reminder (LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE) incompatible with current conditional: LIBVIRT_INIT_SCRIPT_SYSTEMD_FALSE As our makefiles tend to have quite a bit of nested conditionals, it's better to take advantage of the benefits of the build system double-checking that our conditionals are well-nested, but that requires a syntax check to enforce our usage style. Alas, unlike C preprocessor and spec files, we can't use indentation to make it easier to see how deeply nesting goes. * cfg.mk (sc_makefile_conditionals): New rule. * daemon/Makefile.am: Enforce the style. * gnulib/tests/Makefile.am: Likewise. * python/Makefile.am: Likewise. * src/Makefile.am: Likewise. * tests/Makefile.am: Likewise. * tools/Makefile.am: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
35 lines
1.3 KiB
Makefile
35 lines
1.3 KiB
Makefile
## Makefile for gnulib/lib
|
|
|
|
## Copyright (C) 2011, 2013 Red Hat, Inc.
|
|
##
|
|
## This library is free software; you can redistribute it and/or
|
|
## modify it under the terms of the GNU Lesser General Public
|
|
## License as published by the Free Software Foundation; either
|
|
## version 2.1 of the License, or (at your option) any later version.
|
|
##
|
|
## This library is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
## Lesser General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU Lesser General Public
|
|
## License along with this library. If not, see
|
|
## <http://www.gnu.org/licenses/>.
|
|
|
|
include gnulib.mk
|
|
|
|
INCLUDES = $(GETTEXT_CPPFLAGS)
|
|
|
|
GNULIB_TESTS0 =
|
|
GNULIB_TESTS1 = $(GNULIB_TESTS)
|
|
if WITH_EXPENSIVE_TESTS
|
|
## Automake requires that at least one conditional call out all tests to
|
|
## be run, for those tests to be shipped in the tarball
|
|
TESTS = $(GNULIB_TESTS)
|
|
endif WITH_EXPENSIVE_TESTS
|
|
## However, we want to change the set of tests based on the make environment,
|
|
## where the default was set at configure time. Use GNU make constructs to
|
|
## hide our actions from Automake, so we don't get it too confused.
|
|
VIR_TEST_EXPENSIVE ?= $(VIR_TEST_EXPENSIVE_DEFAULT)
|
|
$(eval TESTS=$(GNULIB_TESTS$(VIR_TEST_EXPENSIVE)))
|