xref: /linux/arch/x86/Makefile.postlink (revision fd8c09ad0d87783b9b6a27900d66293be45b7bad)
19d9173e9SPetr Pavlu# SPDX-License-Identifier: GPL-2.0
29d9173e9SPetr Pavlu# ===========================================================================
39d9173e9SPetr Pavlu# Post-link x86 pass
49d9173e9SPetr Pavlu# ===========================================================================
59d9173e9SPetr Pavlu#
69d9173e9SPetr Pavlu# 1. Separate relocations from vmlinux into vmlinux.relocs.
79d9173e9SPetr Pavlu# 2. Strip relocations from vmlinux.
89d9173e9SPetr Pavlu
99d9173e9SPetr PavluPHONY := __archpost
109d9173e9SPetr Pavlu__archpost:
119d9173e9SPetr Pavlu
129d9173e9SPetr Pavlu-include include/config/auto.conf
139d9173e9SPetr Pavluinclude $(srctree)/scripts/Kbuild.include
14*71d815bfSArd Biesheuvelinclude $(srctree)/scripts/Makefile.lib
159d9173e9SPetr Pavlu
169d9173e9SPetr PavluCMD_RELOCS = arch/x86/tools/relocs
179d9173e9SPetr PavluOUT_RELOCS = arch/x86/boot/compressed
189d9173e9SPetr Pavluquiet_cmd_relocs = RELOCS  $(OUT_RELOCS)/$@.relocs
199d9173e9SPetr Pavlu      cmd_relocs = \
209d9173e9SPetr Pavlu	mkdir -p $(OUT_RELOCS); \
219d9173e9SPetr Pavlu	$(CMD_RELOCS) $@ > $(OUT_RELOCS)/$@.relocs; \
229d9173e9SPetr Pavlu	$(CMD_RELOCS) --abs-relocs $@
239d9173e9SPetr Pavlu
249d9173e9SPetr Pavlu# `@true` prevents complaint when there is nothing to be done
259d9173e9SPetr Pavlu
269d9173e9SPetr Pavluvmlinux: FORCE
279d9173e9SPetr Pavlu	@true
289d9173e9SPetr Pavluifeq ($(CONFIG_X86_NEED_RELOCS),y)
299d9173e9SPetr Pavlu	$(call cmd,relocs)
309d9173e9SPetr Pavlu	$(call cmd,strip_relocs)
319d9173e9SPetr Pavluendif
329d9173e9SPetr Pavlu
339d9173e9SPetr Pavluclean:
349d9173e9SPetr Pavlu	@rm -f $(OUT_RELOCS)/vmlinux.relocs
359d9173e9SPetr Pavlu
369d9173e9SPetr PavluPHONY += FORCE clean
379d9173e9SPetr Pavlu
389d9173e9SPetr PavluFORCE:
399d9173e9SPetr Pavlu
409d9173e9SPetr Pavlu.PHONY: $(PHONY)
41