| -include $(srctree)/arch/$(ARCH)/soc/$(SOC_PATH)/Makefile |
| |
| ifdef CONFIG_GP_NONE |
| gpopt = none |
| else ifdef CONFIG_GP_LOCAL |
| gpopt = local |
| else ifdef CONFIG_GP_GLOBAL |
| gpopt = global |
| else ifdef CONFIG_GP_ALL_DATA |
| gpopt = data |
| endif |
| |
| # Set Global Pointer option based on Kconfig. |
| arch_cflags += -mgpopt=$(gpopt) |
| |
| # Put functions and data in their own binary sections so that ld can |
| # garbage collect them |
| arch_cflags += $(call cc-option,-ffunction-sections) \ |
| $(call cc-option,-fdata-sections) |
| |
| # TODO Find a way to pull this out of system.h somehow |
| # instead of having Kconfig for it |
| ifdef CONFIG_HAS_MUL_INSTRUCTION |
| arch_cflags += -mhw-mul |
| else |
| arch_cflags += -mno-hw-mul |
| endif |
| ifdef CONFIG_HAS_MULX_INSTRUCTION |
| arch_cflags += -mhw-mulx |
| else |
| arch_cflags += -mno-hw-mulx |
| endif |
| ifdef CONFIG_HAS_DIV_INSTRUCTION |
| arch_cflags += -mhw-div |
| else |
| arch_cflags += -mno-hw-div |
| endif |
| |
| # Nios II CPUs are configurable and we need to pull in the generated |
| # headers system.h and linker.h which specify what is enabled and where |
| # everything is. |
| soc_ld_include := -I$(srctree)/arch/$(ARCH)/soc/$(SOC_PATH)/include |
| arch_cflags += $(soc_ld_include) |
| EXTRA_LINKER_CMD_OPT += $(soc_ld_include) |
| |
| KBUILD_AFLAGS += $(arch_cflags) |
| KBUILD_CFLAGS += $(arch_cflags) |
| KBUILD_CXXFLAGS += $(arch_cflags) |
| |
| soc-cxxflags ?= $(soc-cflags) |
| soc-aflags ?= $(soc-cflags) |
| KBUILD_CFLAGS += $(soc-cflags) |
| KBUILD_CXXFLAGS += $(soc-cxxflags) |
| KBUILD_AFLAGS += $(soc-aflags) |
| |
| zephyr: $(KERNEL_HEX_NAME) |
| all: $(KERNEL_HEX_NAME) |
| |