Commit b2fd9f90 authored by Fabio Porcedda's avatar Fabio Porcedda Committed by Peter Korsgaard
Browse files

package: add toolchain dependency to every target package



This commit makes the dependency from the target toolchain explicit.
This way we can buid from command line a package that use
inner-generic-package right after the configuration phase, example:

	make clean <package-name>

Also remove TARGETS_ALL because the only purpose was to add toolchain
dependency so it's superseded by this commit.

To prevent circular dependency add the new variable
<pkgname>_ADD_TOOLCHAIN_DEPENDENCY to avoid adding the toolchain
dependency for toolchain packages.

This is also a step forward supporting top-level parallel make.

Signed-off-by: default avatarFabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 6f13130a
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -399,7 +399,6 @@ TARGETS+=target-post-image

TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS))
TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
TARGETS_ALL:=$(patsubst %,__real_tgt_%,$(TARGETS))

# host-* dependencies have to be handled specially, as those aren't
# visible in Kconfig and hence not added to a variable like TARGETS.
@@ -422,9 +421,6 @@ HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
TARGETS_LEGAL_INFO:=$(patsubst %,%-legal-info,\
		$(TARGETS) $(BASE_TARGETS) $(TARGETS_HOST_DEPS) $(HOST_DEPS))))

# all targets depend on the crosscompiler and it's prerequisites
$(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) %

dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
	$(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR)

@@ -433,11 +429,11 @@ $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)

prepare: $(BUILD_DIR)/buildroot-config/auto.conf

world: $(BASE_TARGETS) $(TARGETS_ALL)
world: $(TARGETS)

.PHONY: all world toolchain dirs clean distclean source outputmakefile \
	legal-info legal-info-prepare legal-info-clean printvars \
	$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \
	$(BASE_TARGETS) $(TARGETS) \
	$(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \
	$(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
	$(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR)
+3 −0
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@ endif
GLIBC_LICENSE = GPLv2+ (programs), LGPLv2.1+, BSD-3c, MIT (library)
GLIBC_LICENSE_FILES = $(addprefix $(GLIBC_SRC_SUBDIR)/,COPYING COPYING.LIB LICENSES)

# glibc is part of the toolchain so disable the toolchain dependency
GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO

# Before (e)glibc is configured, we must have the first stage
# cross-compiler and the kernel headers
GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-gawk
+3 −0
Original line number Diff line number Diff line
@@ -17,6 +17,9 @@ LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz

LINUX_HEADERS_INSTALL_STAGING = YES

# linux-headers is part of the toolchain so disable the toolchain dependency
LINUX_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO

define LINUX_HEADERS_INSTALL_STAGING_CMDS
	(cd $(@D); \
		$(TARGET_MAKE_ENV) $(MAKE) \
+2 −1
Original line number Diff line number Diff line
@@ -210,7 +210,8 @@ endef
# This must be repeated from inner-generic-package, otherwise we get an empty
# _DEPENDENCIES if _AUTORECONF is YES.  Also filter the result of _AUTORECONF
# away from the non-host rule
$(2)_DEPENDENCIES ?= $(filter-out host-automake host-autoconf host-libtool $(1),\
$(2)_DEPENDENCIES ?= $(filter-out host-automake host-autoconf host-libtool \
				host-toolchain $(1),\
    $(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))


+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ endif

# This must be repeated from inner-generic-package, otherwise we only get
# host-cmake in _DEPENDENCIES because of the following line
$(2)_DEPENDENCIES ?= $(filter-out $(1),$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
$(2)_DEPENDENCIES ?= $(filter-out host-toolchain $(1),$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))

$(2)_DEPENDENCIES += host-cmake

Loading