1 # SPDX-License-Identifier: GPL-2.0-only 1 # SPDX-License-Identifier: GPL-2.0-only 2 # ============================================ 2 # ========================================================================== 3 # Install unstripped copies of vDSO 3 # Install unstripped copies of vDSO 4 # ============================================ 4 # ========================================================================== 5 5 6 PHONY := __default 6 PHONY := __default 7 __default: 7 __default: 8 @: 8 @: 9 9 10 include $(srctree)/scripts/Kbuild.include 10 include $(srctree)/scripts/Kbuild.include 11 11 12 install-dir := $(MODLIB)/vdso 12 install-dir := $(MODLIB)/vdso 13 13 14 define gen_install_rules 14 define gen_install_rules 15 15 16 dest := $(install-dir)/$$(patsubst %.dbg,%,$$( !! 16 src := $$(firstword $$(subst :,$(space),$(1))) >> 17 dest := $(install-dir)/$$(or $$(word 2,$$(subst :,$(space),$(1))),$$(patsubst %.dbg,%,$$(notdir $(1)))) 17 18 18 __default: $$(dest) 19 __default: $$(dest) 19 $$(dest): $(1) FORCE !! 20 $$(dest): $$(src) FORCE 20 $$(call cmd,install) 21 $$(call cmd,install) 21 22 22 # Some architectures create .build-id symlinks 23 # Some architectures create .build-id symlinks 23 ifneq ($(filter arm s390 sparc x86, $(SRCARCH) !! 24 ifneq ($(filter arm sparc x86, $(SRCARCH)),) 24 link := $(install-dir)/.build-id/$$(shell $(RE !! 25 link := $(install-dir)/.build-id/$$(shell $(READELF) -n $$(src) | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p').debug 25 26 26 __default: $$(link) 27 __default: $$(link) 27 $$(link): $$(dest) FORCE 28 $$(link): $$(dest) FORCE 28 $$(call cmd,symlink) 29 $$(call cmd,symlink) 29 endif 30 endif 30 31 31 endef 32 endef 32 33 33 $(foreach x, $(sort $(INSTALL_FILES)), $(eval 34 $(foreach x, $(sort $(INSTALL_FILES)), $(eval $(call gen_install_rules,$(x)))) 34 35 35 quiet_cmd_install = INSTALL $@ 36 quiet_cmd_install = INSTALL $@ 36 cmd_install = mkdir -p $(dir $@); cp $< 37 cmd_install = mkdir -p $(dir $@); cp $< $@ 37 38 38 quiet_cmd_symlink = SYMLINK $@ 39 quiet_cmd_symlink = SYMLINK $@ 39 cmd_symlink = mkdir -p $(dir $@); ln -sf 40 cmd_symlink = mkdir -p $(dir $@); ln -sf --relative $< $@ 40 41 41 PHONY += FORCE 42 PHONY += FORCE 42 FORCE: 43 FORCE: 43 44 44 .PHONY: $(PHONY) 45 .PHONY: $(PHONY)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.