home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / arch / sh / Makefile < prev   
Encoding:
Makefile  |  2006-08-11  |  5.8 KB  |  195 lines

  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.  
  17. cflags-y                := -mb
  18. cflags-$(CONFIG_CPU_LITTLE_ENDIAN)    := -ml
  19.  
  20. isa-y                    := any
  21. isa-$(CONFIG_CPU_SH2)            := sh2
  22. isa-$(CONFIG_CPU_SH3)            := sh3
  23. isa-$(CONFIG_CPU_SH4)            := sh4
  24. isa-$(CONFIG_CPU_SH4A)            := sh4a
  25. isa-$(CONFIG_CPU_SH2A)            := sh2a
  26.  
  27. isa-$(CONFIG_SH_DSP)            := $(isa-y)-dsp
  28.  
  29. ifndef CONFIG_MMU
  30. isa-y            := $(isa-y)-nommu
  31. endif
  32.  
  33. ifndef CONFIG_SH_FPU
  34. isa-y            := $(isa-y)-nofpu
  35. endif
  36.  
  37. cflags-y    += $(call as-option,-Wa$(comma)-isa=$(isa-y),)
  38.  
  39. cflags-$(CONFIG_CPU_SH2)        += -m2
  40. cflags-$(CONFIG_CPU_SH3)        += -m3
  41. cflags-$(CONFIG_CPU_SH4)        += -m4 \
  42.     $(call cc-option,-mno-implicit-fp,-m4-nofpu)
  43. cflags-$(CONFIG_CPU_SH4A)        += $(call cc-option,-m4a-nofpu,)
  44.  
  45. cflags-$(CONFIG_SH_DSP)            += -Wa,-dsp
  46. cflags-$(CONFIG_SH_KGDB)        += -g
  47.  
  48. cflags-$(CONFIG_MORE_COMPILE_OPTIONS)    += \
  49.     $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
  50.  
  51. OBJCOPYFLAGS    := -O binary -R .note -R .comment -R .stab -R .stabstr -S
  52.  
  53. #
  54. # arch/sh/defconfig doesn't reflect any real hardware, and as such should
  55. # never be used by anyone. Use a board-specific defconfig that has a
  56. # reasonable chance of being current instead.
  57. #
  58. KBUILD_DEFCONFIG := rts7751r2d_defconfig
  59.  
  60. #
  61. # Choosing incompatible machines durings configuration will result in
  62. # error messages during linking.
  63. #
  64. LDFLAGS_vmlinux     += -e _stext
  65.  
  66. ifdef CONFIG_CPU_LITTLE_ENDIAN
  67. LDFLAGS_vmlinux        += --defsym 'jiffies=jiffies_64'
  68. LDFLAGS            += -EL
  69. else
  70. LDFLAGS_vmlinux        += --defsym 'jiffies=jiffies_64+4'
  71. LDFLAGS            += -EB
  72. endif
  73.  
  74. CFLAGS        += -pipe $(cflags-y)
  75. AFLAGS        += $(cflags-y)
  76.  
  77. head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o
  78.  
  79. LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
  80.  
  81. core-y                += arch/sh/kernel/ arch/sh/mm/
  82.  
  83. # Boards
  84. machdir-$(CONFIG_SH_SOLUTION_ENGINE)        := se/770x
  85. machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)    := se/7751
  86. machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE)    := se/7300
  87. machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE)    := se/73180
  88. machdir-$(CONFIG_SH_STB1_HARP)            := harp
  89. machdir-$(CONFIG_SH_STB1_OVERDRIVE)        := overdrive
  90. machdir-$(CONFIG_SH_HP6XX)            := hp6xx
  91. machdir-$(CONFIG_SH_CQREEK)            := cqreek
  92. machdir-$(CONFIG_SH_DMIDA)            := dmida
  93. machdir-$(CONFIG_SH_EC3104)            := ec3104
  94. machdir-$(CONFIG_SH_SATURN)            := saturn
  95. machdir-$(CONFIG_SH_DREAMCAST)            := dreamcast
  96. machdir-$(CONFIG_SH_CAT68701)            := cat68701
  97. machdir-$(CONFIG_SH_BIGSUR)            := bigsur
  98. machdir-$(CONFIG_SH_SH2000)            := sh2000
  99. machdir-$(CONFIG_SH_ADX)            := adx
  100. machdir-$(CONFIG_SH_MPC1211)            := mpc1211
  101. machdir-$(CONFIG_SH_SH03)            := sh03
  102. machdir-$(CONFIG_SH_SECUREEDGE5410)        := snapgear
  103. machdir-$(CONFIG_SH_HS7751RVOIP)        := renesas/hs7751rvoip
  104. machdir-$(CONFIG_SH_RTS7751R2D)            := renesas/rts7751r2d
  105. machdir-$(CONFIG_SH_7751_SYSTEMH)        := renesas/systemh
  106. machdir-$(CONFIG_SH_EDOSK7705)            := renesas/edosk7705
  107. machdir-$(CONFIG_SH_SH4202_MICRODEV)        := superh/microdev
  108. machdir-$(CONFIG_SH_UNKNOWN)            := unknown
  109.  
  110. incdir-y            := $(notdir $(machdir-y))
  111.  
  112. incdir-$(CONFIG_SH_SOLUTION_ENGINE)        := se
  113. incdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)    := se7751
  114. incdir-$(CONFIG_SH_7300_SOLUTION_ENGINE)        := se7300
  115. incdir-$(CONFIG_SH_73180_SOLUTION_ENGINE)    := se73180
  116. incdir-$(CONFIG_SH_HP600)            := hp6xx
  117.  
  118. ifneq ($(machdir-y),)
  119. core-y                += arch/sh/boards/$(machdir-y)/
  120. endif
  121.  
  122. # Companion chips
  123. core-$(CONFIG_HD64461)        += arch/sh/cchips/hd6446x/hd64461/
  124. core-$(CONFIG_HD64465)        += arch/sh/cchips/hd6446x/hd64465/
  125. core-$(CONFIG_VOYAGERGX)    += arch/sh/cchips/voyagergx/
  126.  
  127. cpuincdir-$(CONFIG_CPU_SH2)    := cpu-sh2
  128. cpuincdir-$(CONFIG_CPU_SH3)    := cpu-sh3
  129. cpuincdir-$(CONFIG_CPU_SH4)    := cpu-sh4
  130.  
  131. libs-y                := arch/sh/lib/    $(libs-y) $(LIBGCC)
  132.  
  133. drivers-y            += arch/sh/drivers/
  134. drivers-$(CONFIG_OPROFILE)    += arch/sh/oprofile/
  135.  
  136. boot := arch/sh/boot
  137.  
  138. CPPFLAGS_vmlinux.lds := -traditional
  139.  
  140. ifneq ($(KBUILD_SRC),)
  141. incdir-prefix    := $(srctree)/include/asm-sh/
  142. else
  143. incdir-prefix    :=
  144. endif
  145.  
  146. #    Update machine arch and proc symlinks if something which affects
  147. #    them changed.  We use .arch and .mach to indicate when they were
  148. #    updated last, otherwise make uses the target directory mtime.
  149.  
  150. include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER
  151.     @echo '  SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)'
  152.     $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
  153.     $(Q)ln -fsn $(incdir-prefix)$(cpuincdir-y) include/asm-sh/cpu
  154.     @touch $@
  155.  
  156. #    Most boards have their own mach directories.  For the ones that
  157. #    don't, just reference the parent directory so the semantics are
  158. #    kept roughly the same.
  159.  
  160. include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/MARKER
  161.     @echo -n '  SYMLINK include/asm-sh/mach -> '
  162.     $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
  163.     $(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \
  164.         echo -e 'include/asm-sh/$(incdir-y)'; \
  165.         ln -fsn $(incdir-prefix)$(incdir-y) \
  166.             include/asm-sh/mach; \
  167.     else \
  168.         echo -e 'include/asm-sh'; \
  169.         ln -fsn $(incdir-prefix) include/asm-sh/mach; \
  170.     fi
  171.     @touch $@
  172.  
  173. archprepare: maketools include/asm-sh/.cpu include/asm-sh/.mach
  174.  
  175. PHONY += maketools FORCE
  176. maketools:  include/linux/version.h FORCE
  177.     $(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
  178.  
  179. all: zImage
  180.  
  181. zImage: vmlinux
  182.     $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
  183.  
  184. compressed: zImage
  185.  
  186. archclean:
  187.     $(Q)$(MAKE) $(clean)=$(boot)
  188.  
  189. CLEAN_FILES += include/asm-sh/machtypes.h
  190.  
  191. define archhelp
  192.     @echo '  zImage                - Compressed kernel image (arch/sh/boot/zImage)'
  193. endef
  194.  
  195.