^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # This file is subject to the terms and conditions of the GNU General Public
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # License. See the file "COPYING" in the main directory of this archive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) # Copyright (C) 2013 Altera Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) # Copyright (C) 1994, 95, 96, 2003 by Wind River Systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) # Written by Fredrik Markstrom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) # This file is included by the global makefile so that you can add your own
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) # architecture-specific flags and dependencies. Remember to do have actions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) # for "archclean" cleaning up for this architecture.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) # Nios2 port by Wind River Systems Inc trough:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) # fredrik.markstrom@gmail.com and ivarholmqvist@gmail.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) KBUILD_DEFCONFIG := 3c120_defconfig
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) UTS_SYSNAME = Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) export MMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) $(KCFLAGS) -print-libgcc-file-name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) KBUILD_AFLAGS += -march=r$(CONFIG_NIOS2_ARCH_REVISION)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) KBUILD_CFLAGS += -pipe -D__linux__ -D__ELF__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) KBUILD_CFLAGS += -march=r$(CONFIG_NIOS2_ARCH_REVISION)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_MUL_SUPPORT),-mhw-mul,-mno-hw-mul)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_MULX_SUPPORT),-mhw-mulx,-mno-hw-mulx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_HW_DIV_SUPPORT),-mhw-div,-mno-hw-div)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_BMX_SUPPORT),-mbmx,-mno-bmx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_CDX_SUPPORT),-mcdx,-mno-cdx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_FPU_SUPPORT),-mcustom-fpu-cfg=60-1,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) KBUILD_CFLAGS += -fno-optimize-sibling-calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) KBUILD_CFLAGS += -DUTS_SYSNAME=\"$(UTS_SYSNAME)\"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) KBUILD_CFLAGS += -fno-builtin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) KBUILD_CFLAGS += -G 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) head-y := arch/nios2/kernel/head.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) libs-y += arch/nios2/lib/ $(LIBGCC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) core-y += arch/nios2/kernel/ arch/nios2/mm/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) core-y += arch/nios2/platform/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) INSTALL_PATH ?= /tftpboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) nios2-boot := arch/$(ARCH)/boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) BOOT_TARGETS = vmImage zImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) PHONY += $(BOOT_TARGETS) install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) KBUILD_IMAGE := $(nios2-boot)/vmImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) core-y += $(nios2-boot)/dts/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) all: vmImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) archclean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) $(Q)$(MAKE) $(clean)=$(nios2-boot)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) $(BOOT_TARGETS): vmlinux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) $(Q)$(MAKE) $(build)=$(nios2-boot) $(nios2-boot)/$@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) install:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) $(Q)$(MAKE) $(build)=$(nios2-boot) BOOTIMAGE=$(KBUILD_IMAGE) install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) define archhelp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) echo '* vmImage - Kernel-only image for U-Boot ($(KBUILD_IMAGE))'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) echo ' install - Install kernel using'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) echo ' (your) ~/bin/$(INSTALLKERNEL) or'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) echo ' install to $$(INSTALL_PATH)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) endef