From: Masahiro Yamada Date: Mon, 13 Nov 2017 10:29:38 +0000 (+0900) Subject: kbuild: optimize object directory creation for incremental build X-Git-Tag: v4.19~2134^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c4da7ed0e7d715b159b11efd10408510ffed1aa3;p=platform%2Fkernel%2Flinux-rpi.git kbuild: optimize object directory creation for incremental build 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 --- diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 496ecd8..8624924 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -583,8 +583,13 @@ endif ifneq ($(KBUILD_SRC),) # Create directories for object files if they do 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.