Skip to content

Commit 82977af

Browse files
committed
sh: rename suffix-y to suffix_y
'export suffix-y' does not work reliably because hyphens are disallowed in shell variables. A similar issue was fixed by commit 2bfbe78 ("kbuild: Do not use hyphen in exported variable name"). If I do similar in dash, ARCH=sh fails to build. $ mv linux linux~ $ cd linux~ $ dash $ make O=foo/bar ARCH=sh CROSS_COMPILE=sh4-linux-gnu- defconfig all make[1]: Entering directory '/home/masahiro/linux~/foo/bar' [ snip ] make[4]: *** No rule to make target 'arch/sh/boot/compressed/vmlinux.bin.', needed by 'arch/sh/boot/compressed/piggy.o'. Stop. make[3]: *** [/home/masahiro/linux~/arch/sh/boot/Makefile:40: arch/sh/boot/compressed/vmlinux] Error 2 make[2]: *** [/home/masahiro/linux~/arch/sh/Makefile:194: zImage] Error 2 make[1]: *** [/home/masahiro/linux~/Makefile:350: __build_one_by_one] Error 2 make[1]: Leaving directory '/home/masahiro/linux~/foo/bar' make: *** [Makefile:219: __sub-make] Error 2 The maintainer of GNU Make stated that there is no consistent way to export variables that do not meet the shell's naming criteria. (https://savannah.gnu.org/bugs/?55719) Consequently, you cannot use hyphens in exported variables. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <n.schier@avm.de>
1 parent c199d5d commit 82977af

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

arch/sh/boot/Makefile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000
1919
CONFIG_ENTRY_OFFSET ?= 0x00001000
2020
CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_START)
2121

22-
suffix-y := bin
23-
suffix-$(CONFIG_KERNEL_GZIP) := gz
24-
suffix-$(CONFIG_KERNEL_BZIP2) := bz2
25-
suffix-$(CONFIG_KERNEL_LZMA) := lzma
26-
suffix-$(CONFIG_KERNEL_XZ) := xz
27-
suffix-$(CONFIG_KERNEL_LZO) := lzo
22+
suffix_y := bin
23+
suffix_$(CONFIG_KERNEL_GZIP) := gz
24+
suffix_$(CONFIG_KERNEL_BZIP2) := bz2
25+
suffix_$(CONFIG_KERNEL_LZMA) := lzma
26+
suffix_$(CONFIG_KERNEL_XZ) := xz
27+
suffix_$(CONFIG_KERNEL_LZO) := lzo
2828

2929
targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \
3030
uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin \
@@ -106,10 +106,10 @@ OBJCOPYFLAGS_uImage.srec := -I binary -O srec
106106
$(obj)/uImage.srec: $(obj)/uImage FORCE
107107
$(call if_changed,objcopy)
108108

109-
$(obj)/uImage: $(obj)/uImage.$(suffix-y)
109+
$(obj)/uImage: $(obj)/uImage.$(suffix_y)
110110
@ln -sf $(notdir $<) $@
111111
@echo ' Image $@ is ready'
112112

113113
export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \
114114
CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \
115-
KERNEL_MEMORY suffix-y
115+
KERNEL_MEMORY suffix_y

arch/sh/boot/compressed/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,5 @@ OBJCOPYFLAGS += -R .empty_zero_page
6464

6565
LDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T
6666

67-
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
67+
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
6868
$(call if_changed,ld)

0 commit comments

Comments
 (0)