0476e950ee
Because each tool's individual .mk files is included from the top-level Makefile and we also include them from linux-tools.mk, they get registered twice, and thus built twice, and thus installed twice. We did include them from linux-tools.mk to guarantee they would be included early and each tool had a chance to register itself before we were to construct the build and install hooks. However, the ordering is _currently_ guaranteed, in the C locale by the files names, which we anyway sort using make's $(sort) function, which always sorts in the C locale. Beware if we are to ever rename those files in the future... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
47 lines
1.9 KiB
Makefile
47 lines
1.9 KiB
Makefile
################################################################################
|
|
#
|
|
# linux-tools
|
|
#
|
|
################################################################################
|
|
|
|
# Vampirising sources from the kernel tree, so no source nor site specified.
|
|
# Instead, we directly build in the sources of the linux package. We can do
|
|
# that, because we're not building in the same location and the same files.
|
|
#
|
|
# So, all tools refer to $(LINUX_DIR) instead of $(@D).
|
|
|
|
# Note: we need individual tools .mk files to be included *before* this one
|
|
# to guarantee that each tool has a chance to register itself before we build
|
|
# the list of build and install hooks, below.
|
|
#
|
|
# This is currently guaranteed by the naming of each file:
|
|
# - they get included by the top-level Makefile, with $(sort $(wildcard ...))
|
|
# - make's $(sort) function will aways sort in the C locale
|
|
# - the files names correctly sort out in the C locale so that each tool's
|
|
# .mk file is included before this one.
|
|
|
|
# We only need the kernel to be extracted, not actually built
|
|
LINUX_TOOLS_PATCH_DEPENDENCIES = linux
|
|
|
|
# Install Linux kernel tools in the staging directory since some tools
|
|
# may install shared libraries and headers (e.g. cpupower).
|
|
LINUX_TOOLS_INSTALL_STAGING = YES
|
|
|
|
LINUX_TOOLS_DEPENDENCIES += $(foreach tool,$(LINUX_TOOLS),\
|
|
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
|
$($(call UPPERCASE,$(tool))_DEPENDENCIES)))
|
|
|
|
LINUX_TOOLS_POST_BUILD_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
|
|
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
|
$(call UPPERCASE,$(tool))_BUILD_CMDS))
|
|
|
|
LINUX_TOOLS_POST_INSTALL_STAGING_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
|
|
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
|
$(call UPPERCASE,$(tool))_INSTALL_STAGING_CMDS))
|
|
|
|
LINUX_TOOLS_POST_INSTALL_TARGET_HOOKS += $(foreach tool,$(LINUX_TOOLS),\
|
|
$(if $(BR2_PACKAGE_LINUX_TOOLS_$(call UPPERCASE,$(tool))),\
|
|
$(call UPPERCASE,$(tool))_INSTALL_TARGET_CMDS))
|
|
|
|
$(eval $(generic-package))
|