• David Sterba's avatar
    btrfs: fix build when using M=fs/btrfs · ebd99a6b
    David Sterba authored
    There are people building the module with M= that's supposed to be used
    for external modules. This got broken in e9aa7c28 ("btrfs: enable
    W=1 checks for btrfs").
    
      $ make M=fs/btrfs
      scripts/Makefile.lib:10: *** Recursive variable 'KBUILD_CFLAGS' references itself (eventually).  Stop.
      make: *** [Makefile:1755: modules] Error 2
    
    There's a difference compared to 'make fs/btrfs/btrfs.ko' which needs
    to rebuild a few more things and also the dependency modules need to be
    available. It could fail with eg.
    
      WARNING: Symbol version dump "Module.symvers" is missing.
    	   Modules may not have dependencies or modversions.
    
    In some environments it's more convenient to rebuild just the btrfs
    module by M= so let's make it work.
    
    The problem is with recursive variable evaluation in += so the
    conditional C options are stored in a temporary variable to avoid the
    recursion.
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    ebd99a6b
Makefile 1.86 KB