mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 06:06:32 +00:00
toolchain: introduce a virtual package
This commit introduces a virtual package called 'toolchain', located in 'toolchain/toolchain', which simply depends on 'toolchain-buildroot' or 'toolchain-external' depending on the selected toolchain backend. For now, toolchain-buildroot and toolchain-external are still manual make targets, but the following patches convert those backends to use the package infrastructure as well. In addition to this: * The main Makefile is modified to always make BASE_TARGETS point to this new toolchain virtual package. * The main Makefile is changed to include all the toolchain/*/*.mk files: the toolchain virtual package, and the toolchain-buildroot and toolchain-external directories. * The dependency of the toolchain on prepare dirs and dependencies is moved to the toolchain virtual package. It is moved as a prerequisite of the "toolchain-source" rule to ensure that all directories are prepared before we even start extracting the toolchain. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
2c13d5bc60
commit
8b0905bf2f
19
Makefile
19
Makefile
@ -236,11 +236,7 @@ GNU_HOST_NAME:=$(shell support/gnuconfig/config.guess)
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
BASE_TARGETS = toolchain
|
||||||
BASE_TARGETS += toolchain-buildroot
|
|
||||||
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
|
||||||
BASE_TARGETS += toolchain-external
|
|
||||||
endif
|
|
||||||
|
|
||||||
TARGETS:=
|
TARGETS:=
|
||||||
|
|
||||||
@ -317,11 +313,8 @@ include support/dependencies/dependencies.mk
|
|||||||
# We also need the various per-package makefiles, which also add
|
# We also need the various per-package makefiles, which also add
|
||||||
# each selected package to TARGETS if that package was selected
|
# each selected package to TARGETS if that package was selected
|
||||||
# in the .config file.
|
# in the .config file.
|
||||||
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
include toolchain/helpers.mk
|
||||||
include toolchain/toolchain-buildroot.mk
|
include toolchain/*/*.mk
|
||||||
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
|
||||||
include toolchain/toolchain-external.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Include the package override file if one has been provided in the
|
# Include the package override file if one has been provided in the
|
||||||
# configuration.
|
# configuration.
|
||||||
@ -388,16 +381,12 @@ $(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) %
|
|||||||
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||||
$(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
$(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||||
|
|
||||||
$(BASE_TARGETS): dirs $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake
|
|
||||||
|
|
||||||
$(BUILD_DIR)/buildroot-config/auto.conf: $(BUILDROOT_CONFIG)
|
$(BUILD_DIR)/buildroot-config/auto.conf: $(BUILDROOT_CONFIG)
|
||||||
$(MAKE) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
|
$(MAKE) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
|
||||||
|
|
||||||
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
||||||
|
|
||||||
toolchain: prepare dirs dependencies $(BASE_TARGETS)
|
world: $(BASE_TARGETS) $(TARGETS_ALL)
|
||||||
|
|
||||||
world: toolchain $(TARGETS_ALL)
|
|
||||||
|
|
||||||
.PHONY: all world toolchain dirs clean distclean source outputmakefile \
|
.PHONY: all world toolchain dirs clean distclean source outputmakefile \
|
||||||
legal-info legal-info-prepare legal-info-clean printvars \
|
legal-info legal-info-prepare legal-info-clean printvars \
|
||||||
|
18
toolchain/toolchain/toolchain.mk
Normal file
18
toolchain/toolchain/toolchain.mk
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# toolchain
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
TOOLCHAIN_SOURCE =
|
||||||
|
|
||||||
|
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
|
||||||
|
TOOLCHAIN_DEPENDENCIES += toolchain-buildroot
|
||||||
|
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||||
|
TOOLCHAIN_DEPENDENCIES += toolchain-external
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(eval $(generic-package))
|
||||||
|
|
||||||
|
toolchain-source: prepare dirs dependencies $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user