From patchwork Thu Nov 9 15:41:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 118456 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp6747075qgn; Thu, 9 Nov 2017 07:43:09 -0800 (PST) X-Google-Smtp-Source: ABhQp+S+Z0bsYvvg2uizja6oMp8i4ZDco/tr+7Do5f3ERDE3TaqQe+KZZ/884C6FdE6bct5ZgoRM X-Received: by 10.99.126.81 with SMTP id o17mr876570pgn.252.1510242189513; Thu, 09 Nov 2017 07:43:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510242189; cv=none; d=google.com; s=arc-20160816; b=HmzyLy+MGkVmSi38NsnkTErH+boMiplIkpxngTggXktcYq3V0QrKAlUVHJeiCcAKDB z8z7aiyN7t4VOHXYlcVLVFbg2WJmYCMwh7owAyYC3odVr4XSw7XZEx7TrhFeSrsLeOi+ tvcJZRP43hvUkaLKwcEm8TGmydE6wnXbU7BmZUu+YtXGZjMCYO9OIqYAkn6Cksf5uogz A8z/1HXLsX5WbVLhXT3DENSE8IXfAYN0FKoMgsGuL8uSJrncrGgpnmJ8ovyze+/cx8iz Aa9+buXDtIPPWhgYw9MWx9/SaMrEjBPfrlu99VlOC30EeNFxReNJ2kKpNT2StgGLEEJl LFxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=mNXkCG/ZgjaELiZQWp3W2p9QJw1x/yVepfZbX90AtQw=; b=MAPYkxHAfYwVb/24sAM880N6kMEvCCtO3ynP1ZJtMZOM+lwLj0L+gTGY9ema/MmWzF skgDmkSPXn7I6PkJCcIoiA9HafdWPwKn31F3QMMpjYNgSpW6vpRa7qThAhcRV71aGcnb jZ+VDbuaYyc5bjlDWutwsvxC5ypl1f6CgD4cpbq8CYDA6FysV0ef1ywb9qnmiw4Kfaz2 RrgZIe7BSLrGdggulDkiej4s5dbxGdACOs623fQOnCHl0YFrICjxREDWG4ZwPknB+LHr bA9zdYMIb8cIMP061gxunXTmDKWw3hDFH0Arv2icOIR5IK9VkFqA3Qk3OXSMYWnTkBaV lsSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=Zp8E5m66; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 3si6578313plz.759.2017.11.09.07.43.09; Thu, 09 Nov 2017 07:43:09 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=Zp8E5m66; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752738AbdKIPnH (ORCPT + 22 others); Thu, 9 Nov 2017 10:43:07 -0500 Received: from conuserg-11.nifty.com ([210.131.2.78]:23930 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750909AbdKIPm5 (ORCPT ); Thu, 9 Nov 2017 10:42:57 -0500 Received: from grover.sesame (FL1-125-199-20-195.osk.mesh.ad.jp [125.199.20.195]) (authenticated) by conuserg-11.nifty.com with ESMTP id vA9FfQvE007776; Fri, 10 Nov 2017 00:41:30 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com vA9FfQvE007776 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1510242090; bh=mNXkCG/ZgjaELiZQWp3W2p9QJw1x/yVepfZbX90AtQw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Zp8E5m66CQ14hbv2hN+I9pMdaUaaHG/9lhjI7NFk6yEiTGA+LwJ4VIJoA253mFbsR n5IKN6OtVt7i2e1ausdHKy6h4qOfkw/A4yr62bpJVZp7oC51OjGGuEC2+O/LOpMBmF 5kkhdhtU8EqMQELsBEFedAZGcIAxjPa7Kk9Oi0VB6BCZhTFQNi/D471S+ywGWD/a7u B/TjG5RGJE41B5wj3cK9p/ipFrEGqhLjKIOCPgiZiu2itY6OuTD1+bIbfh1uGAdMW/ wkrUzM9+DISYjQnpdbFNL8e7WuAW/DuTZGww7lspppjmUkuEGzwtAk/IJokmcO4nZG kwaLv9hjNGaqA== X-Nifty-SrcIP: [125.199.20.195] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Michal Marek , Sam Ravnborg , Douglas Anderson , Masahiro Yamada , Michal Marek Subject: [PATCH 4/4] kbuild: optimize object directory creation for incremental build Date: Fri, 10 Nov 2017 00:41:17 +0900 Message-Id: <1510242077-8122-5-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1510242077-8122-1-git-send-email-yamada.masahiro@socionext.com> References: <1510242077-8122-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The previous commit largely optimized the object directory creation. We can optimize it more for incremental build. There are already *.cmd files in the output directory. The existing *.cmd files have been picked up by $(wildcard ...). Obviously, directories containing them exist too, so we can skip "mkdir -p". With this, Kbuild runs almost zero "mkdir -p" in incremental building. Signed-off-by: Masahiro Yamada --- scripts/Makefile.build | 5 +++++ 1 file changed, 5 insertions(+) -- 2.7.4 diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 89ac180..90ea7a5 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -583,8 +583,13 @@ endif ifneq ($(KBUILD_SRC),) # Create directories for object files if directory does not exist obj-dirs := $(sort $(obj) $(patsubst %/,%, $(dir $(targets)))) +# If cmd_files exist, their directories apparently exist. Skip mkdir. +exist-dirs := $(sort $(patsubst %/,%, $(dir $(cmd_files)))) +obj-dirs := $(strip $(filter-out . $(exist-dirs), $(obj-dirs))) +ifneq ($(obj-dirs),) $(shell mkdir -p $(obj-dirs)) endif +endif # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable se we can use it in if_changed and friends.