From patchwork Wed Dec 18 10:36:45 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Porcedda X-Patchwork-Id: 302849 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 1CD5B2C0040 for ; Wed, 18 Dec 2013 21:37:12 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id CDCFF8B967; Wed, 18 Dec 2013 10:37:09 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0UURMfNgwdmr; Wed, 18 Dec 2013 10:37:09 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 229C38B99D; Wed, 18 Dec 2013 10:37:09 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id E1B0E1BF9E5 for ; Wed, 18 Dec 2013 10:37:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id DFA0D32E03 for ; Wed, 18 Dec 2013 10:37:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mt-K4bddkxUa for ; Wed, 18 Dec 2013 10:37:07 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pa0-f50.google.com (mail-pa0-f50.google.com [209.85.220.50]) by silver.osuosl.org (Postfix) with ESMTPS id 0D38F32DCB for ; Wed, 18 Dec 2013 10:37:07 +0000 (UTC) Received: by mail-pa0-f50.google.com with SMTP id kl14so5768671pab.37 for ; Wed, 18 Dec 2013 02:37:06 -0800 (PST) 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=f9d2POTFZqdkqDM0WCUYAIaJZaY/r03Z1RCPDWcN+xY=; b=F5B0uuamcK/KRkZfzxvvbKcscQFVvd/vnutz2ua1L48SCpyW6uRLlgEhdLy5TeIH62 PJA3PtbmrZAqTuysCTHiDR/Uz8QVDJviitffOZ1KMAp0/oCkMR21W9vMANYAxakNg71+ CF4n6IdqU1deZsiyBsrurz1aWeGUWxQufHqiuZEBLaN4fZuvqY4t0+f6Utk739CO1SrK c4kd5bP+oJ3Kp1vEYFY8KFEblMBPvc4juBsJivlFdf3cGFFrLn7p2jEmelV0vC/xpHrI WMODj4GPtNNEgtAAnJLL59GTodrbG3dnPTJsVw46kVGs7/XCQlc39uKuvQYUiw5nZnhj lL3w== X-Received: by 10.66.119.136 with SMTP id ku8mr32976377pab.121.1387363026776; Wed, 18 Dec 2013 02:37:06 -0800 (PST) Received: from ld2077.tmt.telital.com ([213.205.6.118]) by mx.google.com with ESMTPSA id hu10sm40106559pbc.11.2013.12.18.02.37.04 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 18 Dec 2013 02:37:06 -0800 (PST) From: Fabio Porcedda To: buildroot@uclibc.org Date: Wed, 18 Dec 2013 11:36:45 +0100 Message-Id: <1387363007-19846-7-git-send-email-fabio.porcedda@gmail.com> X-Mailer: git-send-email 1.8.5 In-Reply-To: <1387363007-19846-1-git-send-email-fabio.porcedda@gmail.com> References: <1387363007-19846-1-git-send-email-fabio.porcedda@gmail.com> Cc: Thomas Petazzoni , Dallas Clement Subject: [Buildroot] [PATCH v10 6/8] Makefile: add support for top-level parallel make 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 To be able to use top-level parallel make we must not depend in a rule on the order of evaluation of the prerequisites, so instead of relyng on the left to right ordering of evaluation of the prerequisites add an explicit rule to describe the dependencies. Add explicit rules to describe the following dependency chain: $(TARGETS) -> target-finalize -> rootfs-* -> target-post-image Signed-off-by: Fabio Porcedda Acked-by: Arnout Vandecappelle (Essensium/Mind) --- Makefile | 15 ++++++--------- fs/common.mk | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 1866d0a..ef2582e 100644 --- a/Makefile +++ b/Makefile @@ -366,8 +366,6 @@ include system/system.mk include $(BR2_EXTERNAL)/external.mk -TARGETS+=target-finalize - ifeq ($(BR2_ENABLE_LOCALE_PURGE),y) TARGETS+=target-purgelocales endif @@ -384,8 +382,6 @@ endif include fs/common.mk -TARGETS+=target-post-image - TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS)) TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS)) @@ -418,11 +414,12 @@ $(BUILD_DIR)/buildroot-config/auto.conf: $(BUILDROOT_CONFIG) prepare: $(BUILD_DIR)/buildroot-config/auto.conf -world: $(TARGETS) +world: target-post-image .PHONY: all world toolchain dirs clean distclean source outputmakefile \ legal-info legal-info-prepare legal-info-clean printvars \ - $(BASE_TARGETS) $(TARGETS) \ + target-finalize target-post-image \ + $(BASE_TARGETS) $(TARGETS) $(TARGETS_ROOTFS) \ $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \ $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR) @@ -482,7 +479,7 @@ endif STRIP_FIND_CMD += -type f -perm /111 STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print -target-finalize: +target-finalize: $(TARGETS) rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \ $(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \ $(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake @@ -588,7 +585,7 @@ target-generatelocales: host-localedef done endif -target-post-image: +target-post-image: target-finalize $(TARGETS_ROOTFS) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ $(USER_HOOKS_EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) @@ -625,7 +622,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \ @rm -f $(LEGAL_WARNINGS) show-targets: - @echo $(TARGETS) + @echo $(TARGETS) $(TARGETS_ROOTFS) else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) diff --git a/fs/common.mk b/fs/common.mk index aa9d961..0d054b5 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -63,7 +63,7 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz ROOTFS_$(2)_COMPRESS_CMD = $$(XZ) -9 -C crc32 -c endif -$$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES) +$$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES) @$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)") $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep)) rm -f $$(FAKEROOT_SCRIPT) @@ -94,7 +94,7 @@ rootfs-$(1)-show-depends: rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) $$(ROOTFS_$(2)_POST_TARGETS) ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y) -TARGETS += rootfs-$(1) +TARGETS_ROOTFS += rootfs-$(1) endif endef