|
@@ -108,6 +108,11 @@ as-option = $(call try-run,\
|
|
|
as-instr = $(call try-run,\
|
|
|
printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3))
|
|
|
|
|
|
+# __cc-option
|
|
|
+# Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586)
|
|
|
+__cc-option = $(call try-run,\
|
|
|
+ $(1) -Werror $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4))
|
|
|
+
|
|
|
# Do not attempt to build with gcc plugins during cc-option tests.
|
|
|
# (And this uses delayed resolution so the flags will be up to date.)
|
|
|
CC_OPTION_CFLAGS = $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
|
|
@@ -115,8 +120,13 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
|
|
|
# cc-option
|
|
|
# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
|
|
|
|
|
|
-cc-option = $(call try-run,\
|
|
|
- $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
|
|
|
+cc-option = $(call __cc-option, $(CC),\
|
|
|
+ $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS),$(1),$(2))
|
|
|
+
|
|
|
+# hostcc-option
|
|
|
+# Usage: cflags-y += $(call hostcc-option,-march=winchip-c6,-march=i586)
|
|
|
+hostcc-option = $(call __cc-option, $(HOSTCC),\
|
|
|
+ $(HOSTCFLAGS) $(HOST_EXTRACFLAGS),$(1),$(2))
|
|
|
|
|
|
# cc-option-yn
|
|
|
# Usage: flag := $(call cc-option-yn,-march=winchip-c6)
|