1# SPDX-License-Identifier: GPL-2.0 2PHONY += posttest 3 4ifneq ($(findstring 1, $(KBUILD_VERBOSE)),) 5 posttest_verbose = -v 6else 7 posttest_verbose = 8endif 9 10ifeq ($(CONFIG_64BIT),y) 11 posttest_64bit = -y 12else 13 posttest_64bit = -n 14endif 15 16reformatter = $(srctree)/arch/x86/tools/objdump_reformat.awk 17chkobjdump = $(srctree)/arch/x86/tools/chkobjdump.awk 18 19quiet_cmd_posttest = TEST $@ 20 cmd_posttest = ($(OBJDUMP) -v | $(AWK) -f $(chkobjdump)) || $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(reformatter) | $(obj)/insn_decoder_test $(posttest_64bit) $(posttest_verbose) 21 22quiet_cmd_sanitytest = TEST $@ 23 cmd_sanitytest = $(obj)/insn_sanity $(posttest_64bit) -m 1000000 24 25posttest: $(obj)/insn_decoder_test vmlinux $(obj)/insn_sanity 26 $(call cmd,posttest) 27 $(call cmd,sanitytest) 28 29hostprogs += insn_decoder_test insn_sanity 30 31# -I needed for generated C source and C source which in the kernel tree. 32HOSTCFLAGS_insn_decoder_test.o := -Wall -I$(srctree)/tools/arch/x86/lib/ -I$(srctree)/tools/arch/x86/include/ -I$(objtree)/arch/x86/lib/ 33 34HOSTCFLAGS_insn_sanity.o := -Wall -I$(srctree)/tools/arch/x86/lib/ -I$(srctree)/tools/arch/x86/include/ -I$(objtree)/arch/x86/lib/ 35 36# Dependencies are also needed. 37$(obj)/insn_decoder_test.o: $(srctree)/tools/arch/x86/lib/insn.c $(srctree)/tools/arch/x86/lib/inat.c $(srctree)/tools/arch/x86/include/asm/inat_types.h $(srctree)/tools/arch/x86/include/asm/inat.h $(srctree)/tools/arch/x86/include/asm/insn.h $(objtree)/arch/x86/lib/inat-tables.c 38 39$(obj)/insn_sanity.o: $(srctree)/tools/arch/x86/lib/insn.c $(srctree)/tools/arch/x86/lib/inat.c $(srctree)/tools/arch/x86/include/asm/inat_types.h $(srctree)/tools/arch/x86/include/asm/inat.h $(srctree)/tools/arch/x86/include/asm/insn.h $(objtree)/arch/x86/lib/inat-tables.c 40 41HOST_EXTRACFLAGS += -I$(srctree)/tools/include 42hostprogs += relocs 43relocs-objs := relocs_32.o relocs_64.o relocs_common.o 44PHONY += relocs 45relocs: $(obj)/relocs 46 @: 47