Commit | Line | Data |
---|---|---|
56769ba4 MY |
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') | |
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) |