[coreboot-gerrit] New patch to review for coreboot: build system: don't run xcompile or git for %clean/%config targets
Patrick Georgi (pgeorgi@google.com)
gerrit at coreboot.org
Thu Jan 19 23:21:51 CET 2017
Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18182
-gerrit
commit 5dc3632921e21b350abf6f05de5b0331cb4272ea
Author: Patrick Georgi <pgeorgi at chromium.org>
Date: Thu Jan 19 23:20:14 2017 +0100
build system: don't run xcompile or git for %clean/%config targets
It takes a long time for no gain: We don't need to update the
submodules, we don't need to fetch the revision, we don't need to find
the compilers, when all we want to do is to manipulate the .config file
or clean the build directory.
Change-Id: Ie1bd446a0d49a81e3cccdb56fe2c43ffd83b6c98
Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
---
Makefile | 20 ++++++++++----------
Makefile.inc | 4 ++++
payloads/coreinfo/Makefile | 12 +++++++++---
payloads/libpayload/Makefile | 22 +++++++++++-----------
4 files changed, 34 insertions(+), 24 deletions(-)
diff --git a/Makefile b/Makefile
index 7801c47..2c87feb 100644
--- a/Makefile
+++ b/Makefile
@@ -30,16 +30,6 @@
## SUCH DAMAGE.
##
-# in addition to the dependency below, create the file if it doesn't exist
-# to silence stupid warnings about a file that would be generated anyway.
-$(if $(wildcard .xcompile),,$(eval $(shell util/xcompile/xcompile $(XGCCPATH) > .xcompile || rm -f .xcompile)))
-
-.xcompile: util/xcompile/xcompile
- rm -f $@
- $< $(XGCCPATH) > $@.tmp
- \mv -f $@.tmp $@ 2> /dev/null
- rm -f $@.tmp
-
export top := $(CURDIR)
export src := src
export srck := $(top)/util/kconfig
@@ -139,6 +129,16 @@ else
include $(DOTCONFIG)
+# in addition to the dependency below, create the file if it doesn't exist
+# to silence stupid warnings about a file that would be generated anyway.
+$(if $(wildcard .xcompile)$(NOCOMPILE),,$(eval $(shell util/xcompile/xcompile $(XGCCPATH) > .xcompile || rm -f .xcompile)))
+
+.xcompile: util/xcompile/xcompile
+ rm -f $@
+ $< $(XGCCPATH) > $@.tmp
+ \mv -f $@.tmp $@ 2> /dev/null
+ rm -f $@.tmp
+
-include .xcompile
ifneq ($(XCOMPILE_COMPLETE),1)
diff --git a/Makefile.inc b/Makefile.inc
index c5ce30f..43b8bd8 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -13,7 +13,11 @@
## GNU General Public License for more details.
##
+ifneq ($(NOCOMPILE),1)
GIT:=$(shell [ -e "$(top)/.git" ] && command -v git)
+else
+GIT:=
+endif
#######################################################################
# normalize Kconfig variables in a central place
diff --git a/payloads/coreinfo/Makefile b/payloads/coreinfo/Makefile
index 486c96c..50659d3 100644
--- a/payloads/coreinfo/Makefile
+++ b/payloads/coreinfo/Makefile
@@ -20,6 +20,7 @@ srck := $(src)/../../util/kconfig
coreinfo_obj := $(src)/build
objk := $(src)/build/util/kconfig
+ifeq ($(filter %clean,$(MAKECMDGOALS)),)
export KERNELVERSION := 0.1.0
export KCONFIG_AUTOHEADER := $(coreinfo_obj)/config.h
export KCONFIG_AUTOCONFIG := $(coreinfo_obj)/auto.conf
@@ -128,6 +129,12 @@ $(coreinfo_obj)/config.h:
$(shell mkdir -p $(coreinfo_obj) $(objk)/lxdialog $(KCONFIG_SPLITCONFIG))
+include $(srck)/Makefile
+
+.PHONY: $(PHONY) prepare
+
+else
+
clean:
rm -rf build/*.elf build/*.o .xcompile
@@ -135,6 +142,5 @@ distclean: clean
rm -rf build lpbuild
rm -f .config* lp.config*
-include $(srck)/Makefile
-
-.PHONY: $(PHONY) prepare clean distclean
+.PHONY: clean distclean
+endif
diff --git a/payloads/libpayload/Makefile b/payloads/libpayload/Makefile
index 00fb537..34df485 100644
--- a/payloads/libpayload/Makefile
+++ b/payloads/libpayload/Makefile
@@ -81,14 +81,6 @@ DOXYGEN_OUTPUT_DIR := doxygen
all: real-all
-# in addition to the dependency below, create the file if it doesn't exist
-# to silence stupid warnings about a file that would be generated anyway.
-$(if $(wildcard .xcompile),,$(eval $(shell $(top)/../../util/xcompile/xcompile $(XGCCPATH) > .xcompile)))
-
-.xcompile: $(top)/../../util/xcompile/xcompile
- $< $(XGCCPATH) > $@.tmp
- \mv -f $@.tmp $@ 2> /dev/null
-
ifeq ($(INNER_SCANBUILD),y)
CC:=$(CC_real)
HOSTCC:=$(CC_real) --hostcc
@@ -101,8 +93,6 @@ include $(srck)/Makefile
include $(HAVE_DOTCONFIG)
-include .xcompile
-
ARCHDIR-$(CONFIG_LP_ARCH_ARM) := arm
ARCHDIR-$(CONFIG_LP_ARCH_ARM64) := arm64
ARCHDIR-$(CONFIG_LP_ARCH_MIPS) := mips
@@ -138,7 +128,7 @@ ifeq ($(strip $(HAVE_DOTCONFIG)),)
NOCOMPILE:=1
endif
ifneq ($(MAKECMDGOALS),)
-ifneq ($(filter %config distclean,$(MAKECMDGOALS)),)
+ifneq ($(filter %config %clean,$(MAKECMDGOALS)),)
NOCOMPILE:=1
endif
endif
@@ -149,6 +139,16 @@ real-all: config
else
+# in addition to the dependency below, create the file if it doesn't exist
+# to silence stupid warnings about a file that would be generated anyway.
+$(if $(wildcard .xcompile)$(NOCOMPILE),,$(eval $(shell $(top)/../../util/xcompile/xcompile $(XGCCPATH) > .xcompile)))
+
+.xcompile: $(top)/../../util/xcompile/xcompile
+ $< $(XGCCPATH) > $@.tmp
+ \mv -f $@.tmp $@ 2> /dev/null
+
+-include .xcompile
+
ifneq ($(INNER_SCANBUILD),y)
ifeq ($(CONFIG_LP_COMPILER_LLVM_CLANG),y)
CC:=clang -m32
More information about the coreboot-gerrit
mailing list