From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752769AbeAYBmM (ORCPT ); Wed, 24 Jan 2018 20:42:12 -0500 Received: from mail-pf0-f193.google.com ([209.85.192.193]:41983 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752224AbeAYBl2 (ORCPT ); Wed, 24 Jan 2018 20:41:28 -0500 X-Google-Smtp-Source: AH8x225fyGc4T/WTIVkHWryIKNvg/57t3F7cENdtjNbfnymW6WzG0Xa7EFFMjZ/9iP6On/3xVs4gng== From: Jakub Kicinski To: linux-kbuild@vger.kernel.org, davem@davemloft.net Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, oss-drivers@netronome.com, Jakub Kicinski Subject: [PATCH] kbuild: make Makefile|Kbuild in each directory optional Date: Wed, 24 Jan 2018 17:41:19 -0800 Message-Id: <20180125014119.31219-1-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.15.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It is useful to be able to build single object files, e.g.: $ make net/sched/cls_flower.o W=1 C=2 Currently kbuild does a hard include of a Kbuild or Makefile for directory where that object would reside. Kbuild doesn't cater too well to multi-directory drivers, meaning such drivers will usually only use a single central Makefile. This in turn means it will be impossible to build most of object files individually for such drivers. Make the include of $dir/{Makefile,Kbuild} optional. Signed-off-by: Jakub Kicinski Reviewed-by: Dirk van der Merwe --- I must admit I have no idea whose tree I should send this to :( Could it go via net-next if no one on linux-kbuild objects? scripts/Makefile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 47cddf32aeba..178864f877d5 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -42,7 +42,7 @@ save-cflags := $(CFLAGS) # The filename Kbuild has precedence over Makefile kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile) -include $(kbuild-file) +-include $(kbuild-file) # If the save-* variables changed error out ifeq ($(KBUILD_NOPEDANTIC),) -- 2.15.1