• E
    build: enforce makefile conditional style · ec81852f
    Eric Blake 提交于
    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: NEric Blake <eblake@redhat.com>
    ec81852f
Makefile.am 12.9 KB