|
@@ -109,9 +109,22 @@ $(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
|
|
|
$(Q)$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
|
|
|
$(Q)touch $(OUTPUT)PERF-VERSION-FILE
|
|
|
|
|
|
-CC = $(CROSS_COMPILE)gcc
|
|
|
-LD ?= $(CROSS_COMPILE)ld
|
|
|
-AR = $(CROSS_COMPILE)ar
|
|
|
+# Makefiles suck: This macro sets a default value of $(2) for the
|
|
|
+# variable named by $(1), unless the variable has been set by
|
|
|
+# environment or command line. This is necessary for CC and AR
|
|
|
+# because make sets default values, so the simpler ?= approach
|
|
|
+# won't work as expected.
|
|
|
+define allow-override
|
|
|
+ $(if $(or $(findstring environment,$(origin $(1))),\
|
|
|
+ $(findstring command line,$(origin $(1)))),,\
|
|
|
+ $(eval $(1) = $(2)))
|
|
|
+endef
|
|
|
+
|
|
|
+# Allow setting CC and AR and LD, or setting CROSS_COMPILE as a prefix.
|
|
|
+$(call allow-override,CC,$(CROSS_COMPILE)gcc)
|
|
|
+$(call allow-override,AR,$(CROSS_COMPILE)ar)
|
|
|
+$(call allow-override,LD,$(CROSS_COMPILE)ld)
|
|
|
+
|
|
|
PKG_CONFIG = $(CROSS_COMPILE)pkg-config
|
|
|
|
|
|
RM = rm -f
|