Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp602270pxj; Wed, 2 Jun 2021 07:04:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyE5p08oNZ57//QGDCI8lojD8GgfKd2uDHJnqTEXVwXo0/NIwSM5lbJIW7YsOaLrLI4C1NW X-Received: by 2002:a50:cb8a:: with SMTP id k10mr559357edi.267.1622642685732; Wed, 02 Jun 2021 07:04:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622642685; cv=none; d=google.com; s=arc-20160816; b=Npe6lX8OXByMDBBbIiJ7YFASWoeKp15CI8PlC8s64G5hcvlvIIK7IKz+ESvSb/h4Yr xgiZ78ONWbz9NaotQJtdhRmBfnnSihpBXIp/qXLqJxMwSBYz07YXtDXswvK8AO52VnLu JwjYju0pRR/dvJIlq67mX4rWakV9hVYOILYJIVEt01Wy0Y2Ei4zYmjujnBnKPQh284d8 ifV1z0/aVq/5qi+uV0+BhGzGZZpRdT9nJAWT0NxQkZhCEq/DP1RltFdKVC6ZtFp6vyuN q2YOkT4BrMWPxDVN/P/jRg+orcXlf9XjQRL3x6Fdxv49MH77RAU6BtLSKYo9NkkTs6le FRqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=wtAw0U8c/H4UdFIA/GtkS9uCoI75g72nADEQDRoSUtA=; b=b0TalCS/n27WpOfjblABxIUEjHDIIoRy3k7cY/iRZHq/hLZvNStKrSDoKgmelJ61lM YAHFXNhSguK+se+/riKc7Yz670jhCyfenEHkRUDcZCokveUcCpd3iOaCLfz10vGL8VJ+ 8hNgrgqfuUmVFD1dafHj/18Po6BDK0Uhj2KlmPJwdfT3WolqVJLM1LZ0f2bYCCSS4tIe k9pHEUDzfZcsyIpifCic5fZ5ICm44rRnn87aa/lroqNUFupfBHDFajRk+/1V9Fm1obP+ r2FKkDwLvA+8ka5RUIxgPQiI0bcKB4hCCeKefDSsQmDKPPpypPKe0LRZH7LRRBK5ED0x GsSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=ChCr9Bjs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z8si15719443eji.363.2021.06.02.07.04.22; Wed, 02 Jun 2021 07:04:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=ChCr9Bjs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230093AbhFBOEi (ORCPT + 99 others); Wed, 2 Jun 2021 10:04:38 -0400 Received: from conuserg-07.nifty.com ([210.131.2.74]:59215 "EHLO conuserg-07.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230030AbhFBOEi (ORCPT ); Wed, 2 Jun 2021 10:04:38 -0400 Received: from localhost.localdomain (133-32-232-101.west.xps.vectant.ne.jp [133.32.232.101]) (authenticated) by conuserg-07.nifty.com with ESMTP id 152E2J67002048; Wed, 2 Jun 2021 23:02:19 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-07.nifty.com 152E2J67002048 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1622642540; bh=wtAw0U8c/H4UdFIA/GtkS9uCoI75g72nADEQDRoSUtA=; h=From:To:Cc:Subject:Date:From; b=ChCr9BjshSQtJtKCPucJStiI6FTJrM4F4Vp1RLtvBo/B8G3gpj/Z1d0PG/vTdHfFZ KG8FVb7dwqj0AiSTyhpzmIOuOzqpUCRBmBTdH7vrGvokjLPTNhQE5EUY9xx5J2j+T1 YVcRiIM2cdWwUv4AFP7TZANJwk62WPalzquYuWZAsGFrl7iWlpHiewlhwVlGLxexwt G2OemBBzlbAe6v455ByA4nBwm5bah0M+kdlVjt84SCdteAI1Pv2qShhnld5i0iUx/U SJKe+CZmFjFKpo0QbG31RPSCnQgolfzQGEG0rS+HUGfg4jenUfb46pYmwuU9e9eDiN HosqZEo7IJ83Q== X-Nifty-SrcIP: [133.32.232.101] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Johannes Berg , Masahiro Yamada , Michal Marek Subject: [PATCH v2] kbuild: remove trailing slashes from $(KBUILD_EXTMOD) Date: Wed, 2 Jun 2021 23:02:13 +0900 Message-Id: <20210602140213.132936-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org M= (or KBUILD_EXTMOD) generally expects a directory path without any trailing slashes, like M=a/b/c. If you add a trailing slash, like M=a/b/c/, you will get ugly build logs (two slashes in a series), but it still works fine as long as it is consistent between 'make modules' and 'make modules_install'. The following commands correctly build and install the modules. $ make M=a/b/c/ modules $ sudo make M=a/b/c/ modules_install Since commit ccae4cfa7bfb ("kbuild: refactor scripts/Makefile.modinst"), a problem happens if you add a trailing slash only for modules_install. $ make M=a/b/c modules $ sudo make M=a/b/c/ modules_install No module is installed in this case, Johannes Berg reported. [1] Trim any trailing slashes from $(KBUILD_EXTMOD). I used the 'dirname' command to remove all the trailing slashes in case someone adds more slashes like M=a/b/c/////. The Make's built-in function, $(dir ...) cannot take care of such a case. [1]: https://lore.kernel.org/lkml/10cc8522b27a051e6a9c3e158a4c4b6414fd04a0.camel@sipsolutions.net/ Fixes: ccae4cfa7bfb ("kbuild: refactor scripts/Makefile.modinst") Reported-by: Johannes Berg Signed-off-by: Masahiro Yamada --- Changes in v2: - Use $(filter %/, ) so that the shell invocation is avoided if M= is already good. Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index b79e0e8acbe3..8018b8adbcaf 100644 --- a/Makefile +++ b/Makefile @@ -129,6 +129,11 @@ endif $(if $(word 2, $(KBUILD_EXTMOD)), \ $(error building multiple external modules is not supported)) +# Remove trailing slashes +ifneq ($(filter %/, $(KBUILD_EXTMOD)),) +KBUILD_EXTMOD := $(shell dirname $(KBUILD_EXTMOD).) +endif + export KBUILD_EXTMOD # Kbuild will save output files in the current working directory. -- 2.27.0