Calling cc-option will use KBUILD_CFLAGS, which when lazy setting
subdir-ccflags-y produces the following build error:

scripts/Makefile.lib:10: *** Recursive variable `KBUILD_CFLAGS' \
        references itself (eventually).  Stop.

Use single := assignment for subdir-ccflags-y. The cc-option calls
are done right away and we don't end up with KBUILD_CFLAGS
referencing itself.

Signed-off-by: Victor Erminpour <victor.erminp...@oracle.com>
---
 fs/btrfs/Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile
index b634c42115ea..583ca2028e08 100644
--- a/fs/btrfs/Makefile
+++ b/fs/btrfs/Makefile
@@ -1,16 +1,16 @@
 # SPDX-License-Identifier: GPL-2.0
 
 # Subset of W=1 warnings
+subdir-ccflags-y := $(call cc-option, -Wunused-but-set-variable) \
+       $(call cc-option, -Wunused-const-variable) \
+       $(call cc-option, -Wpacked-not-aligned) \
+       $(call cc-option, -Wstringop-truncation)
 subdir-ccflags-y += -Wextra -Wunused -Wno-unused-parameter
 subdir-ccflags-y += -Wmissing-declarations
 subdir-ccflags-y += -Wmissing-format-attribute
 subdir-ccflags-y += -Wmissing-prototypes
 subdir-ccflags-y += -Wold-style-definition
 subdir-ccflags-y += -Wmissing-include-dirs
-subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable)
-subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
-subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
-subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
 # The following turn off the warnings enabled by -Wextra
 subdir-ccflags-y += -Wno-missing-field-initializers
 subdir-ccflags-y += -Wno-sign-compare

Reply via email to