| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
|
| 10 |
|
| 11 |
|
| 12 | ifdef cross_compiling
|
| 13 | ifeq ($(CROSS_COMPILE),)
|
| 14 | CROSS_COMPILE := $(call cc-cross-prefix, sh-linux- sh-linux-gnu- sh-unknown-linux-gnu-)
|
| 15 | endif
|
| 16 | endif
|
| 17 |
|
| 18 | KBUILD_DEFCONFIG := shx3_defconfig
|
| 19 |
|
| 20 | isa-y := any
|
| 21 | isa-$(CONFIG_SH_DSP) := sh
|
| 22 | isa-$(CONFIG_CPU_SH2) := sh2
|
| 23 | isa-$(CONFIG_CPU_SH2A) := sh2a
|
| 24 | isa-$(CONFIG_CPU_SH3) := sh3
|
| 25 | isa-$(CONFIG_CPU_SH4) := sh4
|
| 26 | isa-$(CONFIG_CPU_SH4A) := sh4a
|
| 27 | isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al
|
| 28 |
|
| 29 | isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp
|
| 30 | isa-y := $(isa-y)-up
|
| 31 |
|
| 32 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,)
|
| 33 | cflags-$(CONFIG_CPU_J2) += $(call cc-option,-mj2,)
|
| 34 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \
|
| 35 | $(call cc-option,-m2a-nofpu,) \
|
| 36 | $(call cc-option,-m4-nofpu,)
|
| 37 | cflags-$(CONFIG_CPU_SH3) := $(call cc-option,-m3,)
|
| 38 | cflags-$(CONFIG_CPU_SH4) := $(call cc-option,-m4,) \
|
| 39 | $(call cc-option,-mno-implicit-fp,-m4-nofpu)
|
| 40 | cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \
|
| 41 | $(call cc-option,-m4a-nofpu,)
|
| 42 | cflags-$(CONFIG_CPU_SH4AL_DSP) += $(call cc-option,-m4al,)
|
| 43 |
|
| 44 | ifeq ($(cflags-y),)
|
| 45 |
|
| 46 |
|
| 47 |
|
| 48 |
|
| 49 |
|
| 50 |
|
| 51 |
|
| 52 |
|
| 53 |
|
| 54 | cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \
|
| 55 | grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//')
|
| 56 |
|
| 57 | isaflags-y := $(call as-option,-Wa$(comma)-isa=any,)
|
| 58 | else
|
| 59 |
|
| 60 |
|
| 61 |
|
| 62 |
|
| 63 |
|
| 64 |
|
| 65 |
|
| 66 |
|
| 67 | isaflags-y := $(call as-option,-Wa$(comma)-isa=$(isa-y),)
|
| 68 |
|
| 69 | isaflags-$(CONFIG_SH_DSP) := \
|
| 70 | $(call as-option,-Wa$(comma)-isa=$(isa-y),-Wa$(comma)-dsp)
|
| 71 | endif
|
| 72 |
|
| 73 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
|
| 74 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
|
| 75 |
|
| 76 | cflags-y += $(call cc-option,-mno-fdpic)
|
| 77 | cflags-y += $(isaflags-y) -ffreestanding
|
| 78 |
|
| 79 | OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \
|
| 80 | -R .stab -R .stabstr -S
|
| 81 |
|
| 82 |
|
| 83 | defaultimage-y := zImage
|
| 84 | defaultimage-$(CONFIG_SH_SH7785LCR) := uImage
|
| 85 | defaultimage-$(CONFIG_SH_RSK) := uImage
|
| 86 | defaultimage-$(CONFIG_SH_URQUELL) := uImage
|
| 87 | defaultimage-$(CONFIG_SH_MIGOR) := uImage
|
| 88 | defaultimage-$(CONFIG_SH_AP325RXA) := uImage
|
| 89 | defaultimage-$(CONFIG_SH_SH7757LCR) := uImage
|
| 90 | defaultimage-$(CONFIG_SH_7724_SOLUTION_ENGINE) := uImage
|
| 91 | defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE) := vmlinux
|
| 92 | defaultimage-$(CONFIG_SH_7619_SOLUTION_ENGINE) := vmlinux
|
| 93 |
|
| 94 |
|
| 95 | boot := arch/sh/boot
|
| 96 | KBUILD_IMAGE := $(boot)/$(defaultimage-y)
|
| 97 |
|
| 98 |
|
| 99 |
|
| 100 |
|
| 101 |
|
| 102 | UTS_MACHINE := sh
|
| 103 | LDFLAGS_vmlinux += -e _stext
|
| 104 |
|
| 105 | ifdef CONFIG_CPU_LITTLE_ENDIAN
|
| 106 | ld_bfd := elf32-sh-linux
|
| 107 | LDFLAGS_vmlinux += --defsym jiffies=jiffies_64 --oformat $(ld_bfd)
|
| 108 | KBUILD_LDFLAGS += -EL
|
| 109 | else
|
| 110 | ld_bfd := elf32-shbig-linux
|
| 111 | LDFLAGS_vmlinux += --defsym jiffies=jiffies_64+4 --oformat $(ld_bfd)
|
| 112 | KBUILD_LDFLAGS += -EB
|
| 113 | endif
|
| 114 |
|
| 115 | export ld_bfd
|
| 116 |
|
| 117 |
|
| 118 | machdir-$(CONFIG_SOLUTION_ENGINE) += mach-se
|
| 119 | machdir-$(CONFIG_SH_DREAMCAST) += mach-dreamcast
|
| 120 | machdir-$(CONFIG_SH_SH03) += mach-sh03
|
| 121 | machdir-$(CONFIG_SH_MIGOR) += mach-migor
|
| 122 | machdir-$(CONFIG_SH_KFR2R09) += mach-kfr2r09
|
| 123 | machdir-$(CONFIG_SH_ECOVEC) += mach-ecovec24
|
| 124 | machdir-$(CONFIG_SH_SDK7786) += mach-sdk7786
|
| 125 | machdir-$(CONFIG_SH_X3PROTO) += mach-x3proto
|
| 126 | machdir-$(CONFIG_SH_LANDISK) += mach-landisk
|
| 127 | machdir-y += mach-common
|
| 128 |
|
| 129 |
|
| 130 |
|
| 131 |
|
| 132 |
|
| 133 |
|
| 134 |
|
| 135 |
|
| 136 |
|
| 137 |
|
| 138 |
|
| 139 | cpuincdir-$(CONFIG_CPU_SH2A) += cpu-sh2a
|
| 140 | cpuincdir-$(CONFIG_CPU_SH2) += cpu-sh2
|
| 141 | cpuincdir-$(CONFIG_CPU_SH3) += cpu-sh3
|
| 142 | cpuincdir-$(CONFIG_CPU_SH4A) += cpu-sh4a
|
| 143 | cpuincdir-$(CONFIG_CPU_SH4) += cpu-sh4
|
| 144 | cpuincdir-y += cpu-common
|
| 145 |
|
| 146 | drivers-y += arch/sh/drivers/
|
| 147 |
|
| 148 | KBUILD_CPPFLAGS += $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
|
| 149 | KBUILD_CFLAGS += -pipe $(cflags-y)
|
| 150 | KBUILD_AFLAGS += $(cflags-y)
|
| 151 |
|
| 152 | ifeq ($(CONFIG_MCOUNT),y)
|
| 153 | KBUILD_CFLAGS += -pg
|
| 154 | endif
|
| 155 |
|
| 156 | ifeq ($(CONFIG_DWARF_UNWINDER),y)
|
| 157 | KBUILD_CFLAGS += -fasynchronous-unwind-tables
|
| 158 | endif
|
| 159 |
|
| 160 | libs-y := arch/sh/lib/ $(libs-y)
|
| 161 |
|
| 162 | BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.xz uImage.lzo \
|
| 163 | uImage.srec uImage.bin zImage vmlinux.bin vmlinux.srec \
|
| 164 | romImage
|
| 165 | PHONY += $(BOOT_TARGETS)
|
| 166 |
|
| 167 | all: $(notdir $(KBUILD_IMAGE))
|
| 168 |
|
| 169 | $(BOOT_TARGETS): vmlinux
|
| 170 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
| 171 |
|
| 172 | compressed: zImage
|
| 173 |
|
| 174 | archprepare:
|
| 175 | $(Q)$(MAKE) $(build)=arch/sh/tools include/generated/machtypes.h
|
| 176 |
|
| 177 | archheaders:
|
| 178 | $(Q)$(MAKE) $(build)=arch/sh/kernel/syscalls all
|
| 179 |
|
| 180 | define archhelp
|
| 181 | @echo ' zImage - Compressed kernel image'
|
| 182 | @echo ' romImage - Compressed ROM image, if supported'
|
| 183 | @echo ' vmlinux.srec - Create an ELF S-record'
|
| 184 | @echo ' vmlinux.bin - Create an uncompressed binary image'
|
| 185 | @echo '* uImage - Alias to bootable U-Boot image'
|
| 186 | @echo ' uImage.srec - Create an S-record for U-Boot'
|
| 187 | @echo ' uImage.bin - Kernel-only image for U-Boot (bin)'
|
| 188 | @echo '* uImage.gz - Kernel-only image for U-Boot (gzip)'
|
| 189 | @echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)'
|
| 190 | @echo ' uImage.lzma - Kernel-only image for U-Boot (lzma)'
|
| 191 | @echo ' uImage.xz - Kernel-only image for U-Boot (xz)'
|
| 192 | @echo ' uImage.lzo - Kernel-only image for U-Boot (lzo)'
|
| 193 | endef
|