瀏覽代碼

[PATCH] kbuild: Set NOSTDINC_FLAGS late to speed up compile (a little)

Move definition of NOSTDINC_FLAGS below inclusion of arch Makefile, so
any arch specific settings to $(CC) takes effect before looking up the
compiler include directory.

The previous solution that replaced ':=' with '=' caused gcc to be
invoked one additional time for each directory visited.

This decreases kernel compile time with 0.1 second (3.6 -> 3.5 seconds) when
running make on a fully built kernel

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Sam Ravnborg 20 年之前
父節點
當前提交
e8e6993178
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      Makefile

+ 4 - 2
Makefile

@@ -332,9 +332,7 @@ KALLSYMS	= scripts/kallsyms
 PERL		= perl
 PERL		= perl
 CHECK		= sparse
 CHECK		= sparse
 
 
-NOSTDINC_FLAGS  = -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__
 CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__
-CHECKFLAGS     += $(NOSTDINC_FLAGS)
 MODFLAGS	= -DMODULE
 MODFLAGS	= -DMODULE
 CFLAGS_MODULE   = $(MODFLAGS)
 CFLAGS_MODULE   = $(MODFLAGS)
 AFLAGS_MODULE   = $(MODFLAGS)
 AFLAGS_MODULE   = $(MODFLAGS)
@@ -531,6 +529,10 @@ endif
 
 
 include $(srctree)/arch/$(ARCH)/Makefile
 include $(srctree)/arch/$(ARCH)/Makefile
 
 
+# arch Makefile may override CC so keep this after arch Makefile is included
+NOSTDINC_FLAGS := -nostdinc -isystem $(shell $(CC) -print-file-name=include)
+CHECKFLAGS     += $(NOSTDINC_FLAGS)
+
 # warn about C99 declaration after statement
 # warn about C99 declaration after statement
 CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
 CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)