Commit a5575df5 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: unify cmd_copy and cmd_shipped

cmd_copy and cmd_shipped have similar functionality. The difference is
that cmd_copy uses 'cp' while cmd_shipped 'cat'.

Unify them into cmd_copy because this macro name is more intuitive.

Going forward, cmd_copy will use 'cat' to avoid the permission issue.
I also thought of 'cp --no-preserve=mode' but this option is not
mentioned in the POSIX spec [1], so I am keeping the 'cat' command.

[1]: https://pubs.opengroup.org/onlinepubs/009695299/utilities/cp.html


Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Reviewed-by: default avatarGabriel Krisman Bertazi <krisman@collabora.com>
parent 754e0b0e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ $(obj)/simpleImage.$(DTB).ub: $(obj)/simpleImage.$(DTB) FORCE
	$(call if_changed,uimage)

$(obj)/simpleImage.$(DTB).unstrip: vmlinux FORCE
	$(call if_changed,shipped)
	$(call if_changed,copy)

$(obj)/simpleImage.$(DTB).strip: vmlinux FORCE
	$(call if_changed,strip)
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ $(obj)/linked_dtb.o: $(obj)/system.dtb
# Generate system.dtb from $(DTB).dtb
ifneq ($(DTB),system)
$(obj)/system.dtb: $(obj)/$(DTB).dtb
	$(call if_changed,shipped)
	$(call if_changed,copy)
endif
endif

+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ $(obj)/utf8data.c: $(obj)/mkutf8data $(filter %.txt, $(cmd_utf8data)) FORCE
else

$(obj)/utf8data.c: $(src)/utf8data.c_shipped FORCE
	$(call if_changed,shipped)
	$(call if_changed,copy)

endif

+4 −8
Original line number Diff line number Diff line
@@ -246,20 +246,16 @@ $(foreach m, $(notdir $1), \
	$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
endef

quiet_cmd_copy = COPY    $@
      cmd_copy = cp $< $@

# Shipped files
# Copy a file
# ===========================================================================
# 'cp' preserves permissions. If you use it to copy a file in read-only srctree,
# the copy would be read-only as well, leading to an error when executing the
# rule next time. Use 'cat' instead in order to generate a writable file.

quiet_cmd_shipped = SHIPPED $@
cmd_shipped = cat $< > $@
quiet_cmd_copy = COPY    $@
      cmd_copy = cat $< > $@

$(obj)/%: $(src)/%_shipped
	$(call cmd,shipped)
	$(call cmd,copy)

# Commands useful for building a boot image
# ===========================================================================
+2 −2
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
# kbuild file for usr/ - including initramfs image
#

compress-y					:= shipped
compress-y					:= copy
compress-$(CONFIG_INITRAMFS_COMPRESSION_GZIP)	:= gzip
compress-$(CONFIG_INITRAMFS_COMPRESSION_BZIP2)	:= bzip2
compress-$(CONFIG_INITRAMFS_COMPRESSION_LZMA)	:= lzma
@@ -37,7 +37,7 @@ endif
# .cpio.*, use it directly as an initramfs, and avoid double compression.
ifeq ($(words $(subst .cpio.,$(space),$(ramfs-input))),2)
cpio-data := $(ramfs-input)
compress-y := shipped
compress-y := copy
endif

endif