Makefile 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. # $Id: Makefile,v 1.35 2004/04/15 03:39:20 sugioka Exp $
  2. #
  3. # This file is subject to the terms and conditions of the GNU General Public
  4. # License. See the file "COPYING" in the main directory of this archive
  5. # for more details.
  6. #
  7. # Copyright (C) 1999 Kaz Kojima
  8. # Copyright (C) 2002, 2003, 2004 Paul Mundt
  9. # Copyright (C) 2002 M. R. Brown
  10. #
  11. # This file is included by the global makefile so that you can add your own
  12. # architecture-specific flags and dependencies. Remember to do have actions
  13. # for "archclean" and "archdep" for cleaning up and making dependencies for
  14. # this architecture
  15. #
  16. cflags-y := -mb
  17. cflags-$(CONFIG_CPU_LITTLE_ENDIAN) := -ml
  18. cflags-$(CONFIG_CPU_SH2) += -m2
  19. cflags-$(CONFIG_CPU_SH3) += -m3
  20. cflags-$(CONFIG_CPU_SH4) += -m4 \
  21. $(call cc-option,-mno-implicit-fp,-m4-nofpu)
  22. cflags-$(CONFIG_SH_DSP) += -Wa,-dsp
  23. cflags-$(CONFIG_SH_KGDB) += -g
  24. cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \
  25. $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
  26. OBJCOPYFLAGS := -O binary -R .note -R .comment -R .stab -R .stabstr -S
  27. #
  28. # arch/sh/defconfig doesn't reflect any real hardware, and as such should
  29. # never be used by anyone. Use a board-specific defconfig that has a
  30. # reasonable chance of being current instead.
  31. #
  32. KBUILD_DEFCONFIG := rts7751r2d_defconfig
  33. #
  34. # Choosing incompatible machines durings configuration will result in
  35. # error messages during linking.
  36. #
  37. LDFLAGS_vmlinux += -e _stext
  38. ifdef CONFIG_CPU_LITTLE_ENDIAN
  39. LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64'
  40. LDFLAGS += -EL
  41. else
  42. LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64+4'
  43. LDFLAGS += -EB
  44. endif
  45. CFLAGS += -pipe $(cflags-y)
  46. AFLAGS += $(cflags-y)
  47. head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o
  48. LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
  49. core-y += arch/sh/kernel/ arch/sh/mm/
  50. #
  51. # ramdisk/initrd support
  52. # You need a compressed ramdisk image, named
  53. # CONFIG_EMBEDDED_RAMDISK_IMAGE. Relative pathnames
  54. # are relative to arch/sh/ramdisk/.
  55. #
  56. core-$(CONFIG_EMBEDDED_RAMDISK) += arch/sh/ramdisk/
  57. # Boards
  58. machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x
  59. machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751
  60. machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300
  61. machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180
  62. machdir-$(CONFIG_SH_STB1_HARP) := harp
  63. machdir-$(CONFIG_SH_STB1_OVERDRIVE) := overdrive
  64. machdir-$(CONFIG_SH_HP620) := hp6xx/hp620
  65. machdir-$(CONFIG_SH_HP680) := hp6xx/hp680
  66. machdir-$(CONFIG_SH_HP690) := hp6xx/hp690
  67. machdir-$(CONFIG_SH_CQREEK) := cqreek
  68. machdir-$(CONFIG_SH_DMIDA) := dmida
  69. machdir-$(CONFIG_SH_EC3104) := ec3104
  70. machdir-$(CONFIG_SH_SATURN) := saturn
  71. machdir-$(CONFIG_SH_DREAMCAST) := dreamcast
  72. machdir-$(CONFIG_SH_CAT68701) := cat68701
  73. machdir-$(CONFIG_SH_BIGSUR) := bigsur
  74. machdir-$(CONFIG_SH_SH2000) := sh2000
  75. machdir-$(CONFIG_SH_ADX) := adx
  76. machdir-$(CONFIG_SH_MPC1211) := mpc1211
  77. machdir-$(CONFIG_SH_SH03) := sh03
  78. machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear
  79. machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip
  80. machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d
  81. machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh
  82. machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705
  83. machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev
  84. machdir-$(CONFIG_SH_UNKNOWN) := unknown
  85. incdir-y := $(notdir $(machdir-y))
  86. incdir-$(CONFIG_SH_SOLUTION_ENGINE) := se
  87. incdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se7751
  88. incdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se7300
  89. incdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se73180
  90. incdir-$(CONFIG_SH_HP600) := hp6xx
  91. ifneq ($(machdir-y),)
  92. core-y += arch/sh/boards/$(machdir-y)/
  93. endif
  94. # Companion chips
  95. core-$(CONFIG_HD64461) += arch/sh/cchips/hd6446x/hd64461/
  96. core-$(CONFIG_HD64465) += arch/sh/cchips/hd6446x/hd64465/
  97. core-$(CONFIG_VOYAGERGX) += arch/sh/cchips/voyagergx/
  98. cpuincdir-$(CONFIG_CPU_SH2) := cpu-sh2
  99. cpuincdir-$(CONFIG_CPU_SH3) := cpu-sh3
  100. cpuincdir-$(CONFIG_CPU_SH4) := cpu-sh4
  101. libs-y := arch/sh/lib/ $(libs-y) $(LIBGCC)
  102. drivers-y += arch/sh/drivers/
  103. drivers-$(CONFIG_OPROFILE) += arch/sh/oprofile/
  104. boot := arch/sh/boot
  105. CPPFLAGS_vmlinux.lds := -traditional
  106. # Update machine arch and proc symlinks if something which affects
  107. # them changed. We use .arch and .mach to indicate when they were
  108. # updated last, otherwise make uses the target directory mtime.
  109. include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER
  110. @echo ' SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)'
  111. ifneq ($(KBUILD_SRC),)
  112. $(Q)mkdir -p include/asm-sh
  113. $(Q)ln -fsn $(srctree)/include/asm-sh/$(cpuincdir-y) include/asm-sh/cpu
  114. else
  115. $(Q)ln -fsn $(cpuincdir-y) include/asm-sh/cpu
  116. endif
  117. @touch $@
  118. include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/MARKER
  119. @echo ' SYMLINK include/asm-sh/mach -> include/asm-sh/$(incdir-y)'
  120. ifneq ($(KBUILD_SRC),)
  121. $(Q)mkdir -p include/asm-sh
  122. $(Q)ln -fsn $(srctree)/include/asm-sh/$(incdir-y) include/asm-sh/mach
  123. else
  124. $(Q)ln -fsn $(incdir-y) include/asm-sh/mach
  125. endif
  126. @touch $@
  127. prepare: maketools include/asm-sh/.cpu include/asm-sh/.mach
  128. .PHONY: maketools FORCE
  129. maketools: include/asm-sh/asm-offsets.h include/linux/version.h FORCE
  130. $(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
  131. all: zImage
  132. zImage: vmlinux
  133. $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
  134. compressed: zImage
  135. archclean:
  136. $(Q)$(MAKE) $(clean)=$(boot)
  137. CLEAN_FILES += include/asm-sh/machtypes.h include/asm-sh/asm-offsets.h
  138. arch/sh/kernel/asm-offsets.s: include/asm include/linux/version.h \
  139. include/asm-sh/.cpu include/asm-sh/.mach
  140. include/asm-sh/asm-offsets.h: arch/sh/kernel/asm-offsets.s
  141. $(call filechk,gen-asm-offsets)
  142. define archhelp
  143. @echo ' zImage - Compressed kernel image (arch/sh/boot/zImage)'
  144. endef