mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-30 14:46:31 +00:00
infra/pkg-kconfig: commonalise update-(def)config code
Except for the nice human-friendly reminder of the command that the user was just running, and the name of the file to copy from, those two rules are exactly the same. Make that a common macro that is shared, so that it's easier to add more checks, and to simplify maintenance. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
3d02062787
commit
f542085a61
@ -11,6 +11,17 @@
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
# Macro to update back the custom (def)config file
|
||||||
|
# $(1): file to copy from
|
||||||
|
define kconfig-package-update-config
|
||||||
|
@$(if $($(PKG)_KCONFIG_FRAGMENT_FILES), \
|
||||||
|
echo "Unable to perform $(@) when fragment files are set"; exit 1)
|
||||||
|
@$(if $($(PKG)_KCONFIG_DEFCONFIG), \
|
||||||
|
echo "Unable to perform $(@) when using a defconfig rule"; exit 1)
|
||||||
|
cp -f $($(PKG)_DIR)/$(1) $($(PKG)_KCONFIG_FILE)
|
||||||
|
touch --reference $($(PKG)_DIR)/$($(PKG)_KCONFIG_DOTCONFIG) $($(PKG)_KCONFIG_FILE)
|
||||||
|
endef
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# inner-kconfig-package -- generates the make targets needed to support a
|
# inner-kconfig-package -- generates the make targets needed to support a
|
||||||
# kconfig package
|
# kconfig package
|
||||||
@ -204,25 +215,17 @@ $(1)-savedefconfig: $(1)-check-configuration-done
|
|||||||
# Target to copy back the configuration to the source configuration file
|
# Target to copy back the configuration to the source configuration file
|
||||||
# Even though we could use 'cp --preserve-timestamps' here, the separate
|
# Even though we could use 'cp --preserve-timestamps' here, the separate
|
||||||
# cp and 'touch --reference' is used for symmetry with $(1)-update-defconfig.
|
# cp and 'touch --reference' is used for symmetry with $(1)-update-defconfig.
|
||||||
|
$(1)-update-config: PKG=$(2)
|
||||||
$(1)-update-config: $(1)-check-configuration-done
|
$(1)-update-config: $(1)-check-configuration-done
|
||||||
@$$(if $$($(2)_KCONFIG_FRAGMENT_FILES), \
|
$$(call kconfig-package-update-config,$$($(2)_KCONFIG_DOTCONFIG))
|
||||||
echo "Unable to perform $(1)-update-config when fragment files are set"; exit 1)
|
|
||||||
@$$(if $$($(2)_KCONFIG_DEFCONFIG), \
|
|
||||||
echo "Unable to perform $(1)-update-config when using a defconfig rule"; exit 1)
|
|
||||||
cp -f $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE)
|
|
||||||
touch --reference $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE)
|
|
||||||
|
|
||||||
# Note: make sure the timestamp of the stored configuration is not newer than
|
# Note: make sure the timestamp of the stored configuration is not newer than
|
||||||
# the .config to avoid a useless rebuild. Note that, contrary to
|
# the .config to avoid a useless rebuild. Note that, contrary to
|
||||||
# $(1)-update-config, the reference for 'touch' is _not_ the file from which
|
# $(1)-update-config, the reference for 'touch' is _not_ the file from which
|
||||||
# we copy.
|
# we copy.
|
||||||
|
$(1)-update-defconfig: PKG=$(2)
|
||||||
$(1)-update-defconfig: $(1)-savedefconfig
|
$(1)-update-defconfig: $(1)-savedefconfig
|
||||||
@$$(if $$($(2)_KCONFIG_FRAGMENT_FILES), \
|
$$(call kconfig-package-update-config,defconfig)
|
||||||
echo "Unable to perform $(1)-update-defconfig when fragment files are set"; exit 1)
|
|
||||||
@$$(if $$($(2)_KCONFIG_DEFCONFIG), \
|
|
||||||
echo "Unable to perform $(1)-update-defconfig when using a defconfig rule"; exit 1)
|
|
||||||
cp -f $$($(2)_DIR)/defconfig $$($(2)_KCONFIG_FILE)
|
|
||||||
touch --reference $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE)
|
|
||||||
|
|
||||||
endif # package enabled
|
endif # package enabled
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user