Makefile 2.4 KB

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