From patchwork Thu Oct 3 12:10:44 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Porcedda X-Patchwork-Id: 280291 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 C4ED62C0095 for ; Thu, 3 Oct 2013 22:11:11 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id BAAD28D547; Thu, 3 Oct 2013 12:11:10 +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 b7gPoLgtl-DP; Thu, 3 Oct 2013 12:11:09 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id A7D4C8D565; Thu, 3 Oct 2013 12:11:09 +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 603691BFA5F for ; Thu, 3 Oct 2013 12:11:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 5D6DE8D570 for ; Thu, 3 Oct 2013 12:11:08 +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 WP4ucurleWYm for ; Thu, 3 Oct 2013 12:11:06 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by whitealder.osuosl.org (Postfix) with ESMTPS id 5A7908D24D for ; Thu, 3 Oct 2013 12:11:05 +0000 (UTC) Received: by mail-pa0-f45.google.com with SMTP id rd3so2511741pab.4 for ; Thu, 03 Oct 2013 05:11:05 -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=ihIMAmJhGUvFQo/A2Z0NYQUiCCBQuYG0Vh7PU8HeKpI=; b=xTfmmkt3OWEeQrnSHjemlXxRY0fafhFa7J6bMfJKb4Cj/2PkClL0Q3vg/MxtL/nWaR /msFVNrp/eTaq8kLGTuR4FWXIVEhzKxW+HY0vWcFWULn4FI5zwi9XvrCjhIsntRc1UbS Z8ZpXkHOt7QYuQT3iB62NRB+RiTtsonwQyc581tF1/OkpeDyWurb5swO0+hTJiAvHJUp toPtHwGmgscoytTVw/aruT4k66wmmDvRbrw/t/aiGeRHTERoQ5dvNSRy71O9nwLf1J9s 1jRGy51b86Z7Oz6+fS3xWLLfYkClnp9kv0cMGb31VDLYL/eOheXpN9vwTztEhtehwU46 uu0Q== X-Received: by 10.68.13.104 with SMTP id g8mr8204725pbc.33.1380802265135; Thu, 03 Oct 2013 05:11:05 -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:11:04 -0700 (PDT) From: Fabio Porcedda To: buildroot@uclibc.org Date: Thu, 3 Oct 2013 14:10:44 +0200 Message-Id: <1380802245-16978-6-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 5/6] Makefile: fix rules 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 --- Makefile | 14 +++++--------- fs/common.mk | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 44dc584..2c9e17e 100644 --- a/Makefile +++ b/Makefile @@ -340,8 +340,6 @@ include boot/common.mk include linux/linux.mk include system/system.mk -TARGETS+=target-finalize - ifeq ($(BR2_ENABLE_LOCALE_PURGE),y) TARGETS+=target-purgelocales endif @@ -358,8 +356,6 @@ endif include fs/common.mk -TARGETS+=target-post-image - TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS)) TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS)) @@ -397,11 +393,11 @@ prepare: $(BUILD_DIR)/buildroot-config/auto.conf toolchain: prepare dirs dependencies $(BASE_TARGETS) -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 $(TARGETS) $(TARGETS_ROOTFS) \ $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) $(TARGETS_LEGAL_INFO) \ $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR) @@ -458,7 +454,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 @@ -565,7 +561,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)"); \ $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) @@ -601,7 +597,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(REDIST_SOURCES_DIR) \ @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 4dab7ea..7698c53 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -42,7 +42,7 @@ define ROOTFS_TARGET_INTERNAL # extra deps ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs $$(if $$(BR2_TARGET_ROOTFS_$(2)_LZMA),host-lzma) $$(if $$(BR2_TARGET_ROOTFS_$(2)_LZO),host-lzop) $$(if $$(BR2_TARGET_ROOTFS_$(2)_XZ),host-xz) -$$(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) @@ -86,7 +86,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