^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # arch/sh/Makefile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # Copyright (C) 1999 Kaz Kojima
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) # Copyright (C) 2002 - 2008 Paul Mundt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) # Copyright (C) 2002 M. R. Brown
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) # This file is subject to the terms and conditions of the GNU General Public
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) # License. See the file "COPYING" in the main directory of this archive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) # for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) ifneq ($(SUBARCH),$(ARCH))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) ifeq ($(CROSS_COMPILE),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) CROSS_COMPILE := $(call cc-cross-prefix, sh-linux- sh-linux-gnu- sh-unknown-linux-gnu-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) KBUILD_DEFCONFIG := shx3_defconfig
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) isa-y := any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) isa-$(CONFIG_SH_DSP) := sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) isa-$(CONFIG_CPU_SH2) := sh2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) isa-$(CONFIG_CPU_SH2A) := sh2a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) isa-$(CONFIG_CPU_SH3) := sh3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) isa-$(CONFIG_CPU_SH4) := sh4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) isa-$(CONFIG_CPU_SH4A) := sh4a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) isa-y := $(isa-y)-up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) cflags-$(CONFIG_CPU_J2) += $(call cc-option,-mj2,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) $(call cc-option,-m2a-nofpu,) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) $(call cc-option,-m4-nofpu,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) cflags-$(CONFIG_CPU_SH3) := $(call cc-option,-m3,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) cflags-$(CONFIG_CPU_SH4) := $(call cc-option,-m4,) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) $(call cc-option,-mno-implicit-fp,-m4-nofpu)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) $(call cc-option,-m4a-nofpu,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) cflags-$(CONFIG_CPU_SH4AL_DSP) += $(call cc-option,-m4al,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) ifeq ($(cflags-y),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) # In the case where we are stuck with a compiler that has been uselessly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) # restricted to a particular ISA, a favourite default of newer GCCs when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) # extensive multilib targets are not provided, ensure we get the best fit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) # regarding FP generation. This is intentionally stupid (albeit many
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) # orders of magnitude less than GCC's default behaviour), as anything
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) # with a large number of multilib targets better have been built
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) # correctly for the target in mind.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) # At this point, anything goes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) isaflags-y := $(call as-option,-Wa$(comma)-isa=any,)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) # -Wa,-isa= tuning implies -Wa,-dsp for the versions of binutils that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) # support it, while -Wa,-dsp by itself limits the range of usable opcodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) # on certain CPU subtypes. Try the ISA variant first, and if that fails,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) # fall back on -Wa,-dsp for the old binutils versions. Even without DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) # opcodes, we always want the best ISA tuning the version of binutils
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) # will provide.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) isaflags-y := $(call as-option,-Wa$(comma)-isa=$(isa-y),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) isaflags-$(CONFIG_SH_DSP) := \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) $(call as-option,-Wa$(comma)-isa=$(isa-y),-Wa$(comma)-dsp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) cflags-y += $(call cc-option,-mno-fdpic)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) cflags-y += $(isaflags-y) -ffreestanding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) -R .stab -R .stabstr -S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) # Give the various platforms the opportunity to set default image types
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) defaultimage-y := zImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) defaultimage-$(CONFIG_SH_SH7785LCR) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) defaultimage-$(CONFIG_SH_RSK) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) defaultimage-$(CONFIG_SH_URQUELL) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) defaultimage-$(CONFIG_SH_MIGOR) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) defaultimage-$(CONFIG_SH_AP325RXA) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) defaultimage-$(CONFIG_SH_SH7757LCR) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) defaultimage-$(CONFIG_SH_7724_SOLUTION_ENGINE) := uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE) := vmlinux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) defaultimage-$(CONFIG_SH_7619_SOLUTION_ENGINE) := vmlinux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) # Set some sensible Kbuild defaults
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) boot := arch/sh/boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) KBUILD_IMAGE := $(boot)/$(defaultimage-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) # Choosing incompatible machines durings configuration will result in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) # error messages during linking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) UTS_MACHINE := sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) LDFLAGS_vmlinux += -e _stext
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) ifdef CONFIG_CPU_LITTLE_ENDIAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) ld-bfd := elf32-sh-linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) LDFLAGS_vmlinux += --defsym jiffies=jiffies_64 --oformat $(ld-bfd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) KBUILD_LDFLAGS += -EL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) ld-bfd := elf32-shbig-linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) LDFLAGS_vmlinux += --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) KBUILD_LDFLAGS += -EB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) export ld-bfd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) head-y := arch/sh/kernel/head_32.o
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) core-y += arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) core-$(CONFIG_USE_BUILTIN_DTB) += arch/sh/boot/dts/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) # Mach groups
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) machdir-$(CONFIG_SOLUTION_ENGINE) += mach-se
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) machdir-$(CONFIG_SH_HP6XX) += mach-hp6xx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) machdir-$(CONFIG_SH_DREAMCAST) += mach-dreamcast
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) machdir-$(CONFIG_SH_SH03) += mach-sh03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) machdir-$(CONFIG_SH_RTS7751R2D) += mach-r2d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) machdir-$(CONFIG_SH_HIGHLANDER) += mach-highlander
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) machdir-$(CONFIG_SH_MIGOR) += mach-migor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) machdir-$(CONFIG_SH_AP325RXA) += mach-ap325rxa
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) machdir-$(CONFIG_SH_KFR2R09) += mach-kfr2r09
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) machdir-$(CONFIG_SH_ECOVEC) += mach-ecovec24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) machdir-$(CONFIG_SH_SDK7780) += mach-sdk7780
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) machdir-$(CONFIG_SH_SDK7786) += mach-sdk7786
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) machdir-$(CONFIG_SH_X3PROTO) += mach-x3proto
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) machdir-$(CONFIG_SH_SH7763RDP) += mach-sh7763rdp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) machdir-$(CONFIG_SH_SH4202_MICRODEV) += mach-microdev
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) machdir-$(CONFIG_SH_LANDISK) += mach-landisk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) machdir-$(CONFIG_SH_LBOX_RE2) += mach-lboxre2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) machdir-$(CONFIG_SH_RSK) += mach-rsk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) ifneq ($(machdir-y),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) core-y += $(addprefix arch/sh/boards/, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) $(filter-out ., $(patsubst %,%/,$(machdir-y))))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) # Common machine type headers. Not part of the arch/sh/boards/ hierarchy.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) machdir-y += mach-common
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) # Companion chips
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) core-$(CONFIG_HD6446X_SERIES) += arch/sh/cchips/hd6446x/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) # CPU header paths
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) # These are ordered by optimization level. A CPU family that is a subset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) # of another (ie, SH-2A / SH-2), is picked up first, with increasing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) # levels of genericness if nothing more suitable is situated in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) # hierarchy.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) # As an example, in order of preference, SH-2A > SH-2 > common definitions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) cpuincdir-$(CONFIG_CPU_SH2A) += cpu-sh2a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) cpuincdir-$(CONFIG_CPU_SH2) += cpu-sh2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) cpuincdir-$(CONFIG_CPU_SH3) += cpu-sh3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) cpuincdir-$(CONFIG_CPU_SH4A) += cpu-sh4a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) cpuincdir-$(CONFIG_CPU_SH4) += cpu-sh4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) cpuincdir-y += cpu-common # Must be last
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) drivers-y += arch/sh/drivers/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) drivers-$(CONFIG_OPROFILE) += arch/sh/oprofile/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) cflags-y += $(foreach d, $(cpuincdir-y), -I $(srctree)/arch/sh/include/$(d)) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) $(foreach d, $(machdir-y), -I $(srctree)/arch/sh/include/$(d))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) KBUILD_CFLAGS += -pipe $(cflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) KBUILD_CPPFLAGS += $(cflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) KBUILD_AFLAGS += $(cflags-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) ifeq ($(CONFIG_MCOUNT),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) KBUILD_CFLAGS += -pg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) ifeq ($(CONFIG_DWARF_UNWINDER),y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) KBUILD_CFLAGS += -fasynchronous-unwind-tables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) libs-y := arch/sh/lib/ $(libs-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) BOOT_TARGETS = uImage uImage.bz2 uImage.gz uImage.lzma uImage.xz uImage.lzo \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) uImage.srec uImage.bin zImage vmlinux.bin vmlinux.srec \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) romImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) PHONY += $(BOOT_TARGETS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) all: $(notdir $(KBUILD_IMAGE))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) $(BOOT_TARGETS): vmlinux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) compressed: zImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) archprepare:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) $(Q)$(MAKE) $(build)=arch/sh/tools include/generated/machtypes.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) archclean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) $(Q)$(MAKE) $(clean)=$(boot)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) $(Q)$(MAKE) $(clean)=arch/sh/kernel/vsyscall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) archheaders:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) $(Q)$(MAKE) $(build)=arch/sh/kernel/syscalls all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) define archhelp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) @echo ' zImage - Compressed kernel image'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) @echo ' romImage - Compressed ROM image, if supported'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) @echo ' vmlinux.srec - Create an ELF S-record'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) @echo ' vmlinux.bin - Create an uncompressed binary image'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) @echo '* uImage - Alias to bootable U-Boot image'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) @echo ' uImage.srec - Create an S-record for U-Boot'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) @echo ' uImage.bin - Kernel-only image for U-Boot (bin)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) @echo '* uImage.gz - Kernel-only image for U-Boot (gzip)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) @echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) @echo ' uImage.lzma - Kernel-only image for U-Boot (lzma)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) @echo ' uImage.xz - Kernel-only image for U-Boot (xz)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) @echo ' uImage.lzo - Kernel-only image for U-Boot (lzo)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) endef