|
@@ -85,21 +85,24 @@ $(eval $(kconfig-package))
|
|
|
# not have been parsed yet, so the Linux build dir LINUX_DIR is not yet
|
|
|
# known. Thus, we use a "secondary expansion" so the rule is re-evaluated
|
|
|
# after all Makefiles are parsed, and thus at that time we will have the
|
|
|
-# LINUX_DIR variable set to the proper value.
|
|
|
+# LINUX_DIR variable set to the proper value. Moreover, since linux-4.19,
|
|
|
+# the kernel's build system internally touches its .config file, so we
|
|
|
+# can't use it as a stamp file. We use the LINUX_KCONFIG_STAMP_DOTCONFIG
|
|
|
+# instead.
|
|
|
#
|
|
|
# Furthermore, we want to check the kernel version, since linux-backports
|
|
|
# only supports kernels >= 3.0. To avoid overriding linux-backports'
|
|
|
-# .config rule defined in the kconfig-package infra, we use an
|
|
|
-# intermediate stamp-file.
|
|
|
+# KCONFIG_STAMP_DOTCONFIG rule defined in the kconfig-package infra, we
|
|
|
+# use an intermediate stamp-file.
|
|
|
#
|
|
|
# Finally, it must also come after the call to kconfig-package, so we get
|
|
|
# LINUX_BACKPORTS_DIR properly defined (because the target part of the
|
|
|
# rule is not re-evaluated).
|
|
|
#
|
|
|
-$(LINUX_BACKPORTS_DIR)/.config: $(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version
|
|
|
+$(LINUX_BACKPORTS_DIR)/$(LINUX_BACKPORTS_KCONFIG_STAMP_DOTCONFIG): $(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version
|
|
|
|
|
|
.SECONDEXPANSION:
|
|
|
-$(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version: $$(LINUX_DIR)/.config
|
|
|
+$(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version: $$(LINUX_DIR)/$$(LINUX_KCONFIG_STAMP_DOTCONFIG)
|
|
|
$(Q)LINUX_VERSION_PROBED=$(LINUX_VERSION_PROBED); \
|
|
|
if [ $${LINUX_VERSION_PROBED%%.*} -lt 3 ]; then \
|
|
|
printf "Linux version '%s' is too old for linux-backports (needs 3.0 or later)\n" \
|