diff options
author | Patrick Georgi <pgeorgi@chromium.org> | 2017-01-19 23:20:14 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2017-01-24 23:22:56 +0100 |
commit | 0ffef882d8357b1e14e983829e0a26415ab43b48 (patch) | |
tree | 232716a26ea823a947dc03addbdbb72ac2f6a22f | |
parent | 5e949faec149c8716b6cb92ab3518d04610f7d1d (diff) | |
download | coreboot-0ffef882d8357b1e14e983829e0a26415ab43b48.tar.xz |
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@chromium.org>
Reviewed-on: https://review.coreboot.org/18182
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | Makefile | 20 | ||||
-rw-r--r-- | Makefile.inc | 4 | ||||
-rw-r--r-- | payloads/coreinfo/Makefile | 12 | ||||
-rw-r--r-- | payloads/libpayload/Makefile | 22 |
4 files changed, 34 insertions, 24 deletions
@@ -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 a477618176..9aec8a7a7e 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 486c96cf1d..50659d3c0b 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 00fb5374bb..34df485f30 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 |