[U-Boot,v3,01/17] Trigger generic board error only when building

Message ID 1366483372-16523-2-git-send-email-sjg@chromium.org
State Accepted, archived
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass April 20, 2013, 6:42 p.m.
At present the generic board error can occur when configuring U-Boot, or
during distclean, but this is incorrect. The existing autoconf.mk may come
from an earlier U-Boot configuration which is about to be overwritten.

Make the error conditional so that it will only be triggered when we are
actually building U-Boot.

This avoids a problem where the system is being reconfigured to remove
CONFIG_SYS_GENERIC_BOARD on an architecture that does not support it.
Currently this will print an error and require the manual removal of

Signed-off-by: Simon Glass <sjg@chromium.org>
Changes in v3: None
Changes in v2: None

 Makefile  | 10 ++++++++++
 config.mk |  4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)


diff --git a/Makefile b/Makefile
index 3fd6d15..42f2b02 100644
--- a/Makefile
+++ b/Makefile
@@ -183,6 +183,16 @@  endif
 # load other configuration
 include $(TOPDIR)/config.mk
+# Targets which don't build the source code
+NON_BUILD_TARGETS = backup clean clobber distclean mkproper tidy unconfig
+# Only do the generic board check when actually building, not configuring
+ifeq ($(filter $(NON_BUILD_TARGETS),$(MAKECMDGOALS)),)
+ifeq ($(findstring _config,$(MAKECMDGOALS)),)
 # If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
 # that (or fail if absent).  Otherwise, search for a linker script in a
 # standard location.
diff --git a/config.mk b/config.mk
index 1fd109f..16a4fdb 100644
--- a/config.mk
+++ b/config.mk
@@ -229,8 +229,8 @@  endif
 # Does this architecture support generic board init?
-$(error Your architecture does not support generic board. Please undefined \
-CONFIG_SYS_GENERIC_BOARD in your board config file)
+CHECK_GENERIC_BOARD = $(error Your architecture does not support generic board. \
+Please undefined CONFIG_SYS_GENERIC_BOARD in your board config file)