Merge tag 'rproc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc...
[linux.git] / scripts / Makefile.vdsoinst
1 # SPDX-License-Identifier: GPL-2.0-only
2 # ==========================================================================
3 # Install unstripped copies of vDSO
4 # ==========================================================================
5
6 PHONY := __default
7 __default:
8         @:
9
10 include $(srctree)/scripts/Kbuild.include
11
12 install-dir := $(MODLIB)/vdso
13
14 define gen_install_rules
15
16 src := $$(firstword $$(subst :,$(space),$(1)))
17 dest := $(install-dir)/$$(or $$(word 2,$$(subst :,$(space),$(1))),$$(patsubst %.dbg,%,$$(notdir $(1))))
18
19 __default: $$(dest)
20 $$(dest): $$(src) FORCE
21         $$(call cmd,install)
22
23 # Some architectures create .build-id symlinks
24 ifneq ($(filter arm sparc x86, $(SRCARCH)),)
25 link := $(install-dir)/.build-id/$$(shell $(READELF) -n $$(src) | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p').debug
26
27 __default: $$(link)
28 $$(link): $$(dest) FORCE
29         $$(call cmd,symlink)
30 endif
31
32 endef
33
34 $(foreach x, $(sort $(INSTALL_FILES)), $(eval $(call gen_install_rules,$(x))))
35
36 quiet_cmd_install = INSTALL $@
37       cmd_install = mkdir -p $(dir $@); cp $< $@
38
39 quiet_cmd_symlink = SYMLINK $@
40       cmd_symlink = mkdir -p $(dir $@); ln -sf --relative $< $@
41
42 PHONY += FORCE
43 FORCE:
44
45 .PHONY: $(PHONY)