From patchwork Thu Oct 3 12:10:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Porcedda X-Patchwork-Id: 280289 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 9614B2C0095 for ; Thu, 3 Oct 2013 22:10:59 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B68028D469; Thu, 3 Oct 2013 12:10:58 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QoxdOThNzg12; Thu, 3 Oct 2013 12:10:57 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 784288D438; Thu, 3 Oct 2013 12:10:57 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id E23DF1C4572 for ; Thu, 3 Oct 2013 12:10:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id DCA578D47E for ; Thu, 3 Oct 2013 12:10:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R1jBdwOB+6jf for ; Thu, 3 Oct 2013 12:10:53 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by whitealder.osuosl.org (Postfix) with ESMTPS id D736C8D39B for ; Thu, 3 Oct 2013 12:10:53 +0000 (UTC) Received: by mail-pa0-f52.google.com with SMTP id kl14so2494806pab.25 for ; Thu, 03 Oct 2013 05:10:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fmv1IaIL1F/GSQBI29JTdga1ivqp8+wykrcLRRWOddM=; b=k//oGtN7u8cEVOOAhDXfIyauJpJ5TQagdVrWE9bWI2hNC7xqkdjY3qMxtFCcWyCB10 ywkNC5dhllz2p1On1HNg1T/KJIrxKChZxSTBQO7Bekxt4Im6vQLcibXte8QfJr4oj8iI PKiNRFr3BnRxKosVgHA08T0xV0OzDCwHsr9xSulkwl720oNIxRhsJLjJanJYZPcotIIj nP6NyAHJRjO9ysxmcrHkf/Z5vR27boeI8BEpSNvuAk0lJoEWEz92Fo5aBaiN+BDF51Mh 0Pf5BTY9IFyTHTRnzvyGf58gv2C4O2jBDMGh1VWIpwWrJwAZyMiaSvks5ykHKoc2PMTg gh1Q== X-Received: by 10.68.232.3 with SMTP id tk3mr98493pbc.121.1380802253620; Thu, 03 Oct 2013 05:10:53 -0700 (PDT) Received: from ld2077.tmt.telital.com ([213.205.6.118]) by mx.google.com with ESMTPSA id kd1sm10223154pab.20.1969.12.31.16.00.00 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 03 Oct 2013 05:10:52 -0700 (PDT) From: Fabio Porcedda To: buildroot@uclibc.org Date: Thu, 3 Oct 2013 14:10:40 +0200 Message-Id: <1380802245-16978-2-git-send-email-fabio.porcedda@gmail.com> X-Mailer: git-send-email 1.8.4 In-Reply-To: <1380802245-16978-1-git-send-email-fabio.porcedda@gmail.com> References: <1380802245-16978-1-git-send-email-fabio.porcedda@gmail.com> Cc: Thomas Petazzoni Subject: [Buildroot] [PATCH v7 1/6] package: add toolchain dependency to inner-generic-package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net This commit makes the dependency from the target toolchain explicit. This way we can buid from command line a package that use innger-generic-package right after the configuration phase, example: make clean 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 _TOOLCHAIN for not adding the toolchain dependency for toolchain packages. This is a step forward top-level parallel make. Signed-off-by: Fabio Porcedda f --- Makefile | 8 ++------ package/linux-headers/linux-headers.mk | 1 + package/pkg-autotools.mk | 3 ++- package/pkg-generic.mk | 8 ++++++-- package/uclibc/uclibc.mk | 1 + 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index c170ca2..44dc584 100644 --- a/Makefile +++ b/Makefile @@ -363,7 +363,6 @@ TARGETS+=target-post-image TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) 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. @@ -386,9 +385,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) @@ -401,11 +397,11 @@ prepare: $(BUILD_DIR)/buildroot-config/auto.conf toolchain: prepare dirs dependencies $(BASE_TARGETS) -world: toolchain $(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_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \ $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR) diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk index 30d3076..865b36d 100644 --- a/package/linux-headers/linux-headers.mk +++ b/package/linux-headers/linux-headers.mk @@ -16,6 +16,7 @@ endif LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz LINUX_HEADERS_INSTALL_STAGING = YES +LINUX_HEADERS_TOOLCHAIN = YES define LINUX_HEADERS_INSTALL_STAGING_CMDS (cd $(@D); \ diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index 9523529..f58570d 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -209,7 +209,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)))) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index bfc4dc1..2dc743b 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -305,9 +305,13 @@ ifndef $(2)_REDISTRIBUTE endif $(2)_REDISTRIBUTE ?= YES +$(2)_TOOLCHAIN ?= NO - -$(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)))) +ifeq ($$($(2)_TYPE)$$($(2)_TOOLCHAIN),targetNO) +$(2)_DEPENDENCIES += toolchain +endif $(2)_INSTALL_STAGING ?= NO $(2)_INSTALL_IMAGES ?= NO diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 3993d9b..8efebc6 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -17,6 +17,7 @@ UCLIBC_SOURCE = uClibc-$(UCLIBC_VERSION).tar.xz endif UCLIBC_INSTALL_STAGING = YES +UCLIBC_TOOLCHAIN = YES # Before uClibc is configured, we must have the first stage # cross-compiler and the kernel headers