Merge tag 'wq-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[linux-block.git] / arch / x86 / Makefile.postlink
CommitLineData
9d9173e9
PP
1# SPDX-License-Identifier: GPL-2.0
2# ===========================================================================
3# Post-link x86 pass
4# ===========================================================================
5#
6# 1. Separate relocations from vmlinux into vmlinux.relocs.
7# 2. Strip relocations from vmlinux.
8
9PHONY := __archpost
10__archpost:
11
12-include include/config/auto.conf
13include $(srctree)/scripts/Kbuild.include
14
15CMD_RELOCS = arch/x86/tools/relocs
16OUT_RELOCS = arch/x86/boot/compressed
17quiet_cmd_relocs = RELOCS $(OUT_RELOCS)/$@.relocs
18 cmd_relocs = \
19 mkdir -p $(OUT_RELOCS); \
20 $(CMD_RELOCS) $@ > $(OUT_RELOCS)/$@.relocs; \
21 $(CMD_RELOCS) --abs-relocs $@
22
23quiet_cmd_strip_relocs = RSTRIP $@
24 cmd_strip_relocs = \
25 $(OBJCOPY) --remove-section='.rel.*' --remove-section='.rel__*' \
26 --remove-section='.rela.*' --remove-section='.rela__*' $@
27
28# `@true` prevents complaint when there is nothing to be done
29
30vmlinux: FORCE
31 @true
32ifeq ($(CONFIG_X86_NEED_RELOCS),y)
33 $(call cmd,relocs)
34 $(call cmd,strip_relocs)
35endif
36
37%.ko: FORCE
38 @true
39
40clean:
41 @rm -f $(OUT_RELOCS)/vmlinux.relocs
42
43PHONY += FORCE clean
44
45FORCE:
46
47.PHONY: $(PHONY)