summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2010-08-15 15:01:45 -0400
committerChris Metcalf <cmetcalf@tilera.com>2010-08-15 16:14:07 -0400
commita5854dd7f30c3849edf9b9711362e2dd51d3f855 (patch)
treee4e84e168eab39fa7e8bdd943447ea241ce6979a
parent3b3c1b9d04db2ac925818c3cff677f5353c0b559 (diff)
arch/tile: don't validate CROSS_COMPILE needlessly
With this change, the arch/tile Makefile will only check for a valid combination of CROSS_COMPILE vs "uname -m" for a few common targets that are typically the ones we get wrong (vmlinux, all, and modules). The change handles the case of an empty "make" goal like "make all". Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--arch/tile/Makefile20
1 files changed, 11 insertions, 9 deletions
diff --git a/arch/tile/Makefile b/arch/tile/Makefile
index 07c4318c062..fd8f6bb5fac 100644
--- a/arch/tile/Makefile
+++ b/arch/tile/Makefile
@@ -8,20 +8,22 @@
# for "archclean" and "archdep" for cleaning up and making dependencies for
# this architecture
-ifeq ($(CROSS_COMPILE),)
# If building with TILERA_ROOT set (i.e. using the Tilera Multicore
# Development Environment) we can set CROSS_COMPILE based on that.
-ifdef TILERA_ROOT
-CROSS_COMPILE = $(TILERA_ROOT)/bin/tile-
-endif
-endif
-
# If we're not cross-compiling, make sure we're on the right architecture.
+# Only bother to test for a few common targets, to avoid useless errors.
ifeq ($(CROSS_COMPILE),)
-HOST_ARCH = $(shell uname -m)
-ifneq ($(HOST_ARCH),$(ARCH))
+ ifdef TILERA_ROOT
+ CROSS_COMPILE := $(TILERA_ROOT)/bin/tile-
+ else
+ goals := $(if $(MAKECMDGOALS), $(MAKECMDGOALS), all)
+ ifneq ($(strip $(filter vmlinux modules all,$(goals))),)
+ HOST_ARCH := $(shell uname -m)
+ ifneq ($(HOST_ARCH),$(ARCH))
$(error Set TILERA_ROOT or CROSS_COMPILE when building $(ARCH) on $(HOST_ARCH))
-endif
+ endif
+ endif
+ endif
endif