In old days, the "host-progs" syntax was used for specifying host programs. It was renamed to the current "hostprogs-y" in 2004. It is typically useful in scripts/Makefile because it allows Kbuild to selectively compile host programs based on the kernel configuration. This commit renames like follows: always -> always-y hostprogs-y -> hostprogs So, scripts/Makefile will look like this: always-$(CONFIG_BUILD_BIN2C) += ... always-$(CONFIG_KALLSYMS) += ... ... hostprogs := $(always-y) $(always-m) I think this makes more sense because a host program is always a host program, irrespective of the kernel configuration. We want to specify which ones to compile by CONFIG options, so always-y will be handier. The "always", "hostprogs-y", "hostprogs-m" will be kept for backward compatibility for a while.
Unified · Split
| @@ -28,7 +28,6 @@ This document describes the Linux kernel Makefiles. · 27 unmodified lines | |||
| 28 | --- 4.3 Using C++ for host programs | 28 | --- 4.3 Using C++ for host programs |
| 29 | --- 4.4 Controlling compiler options for host programs | 29 | --- 4.4 Controlling compiler options for host programs |
| 30 | --- 4.5 When host programs are actually built | 30 | --- 4.5 When host programs are actually built |
| 31 | --- 4.6 Using hostprogs-$(CONFIG_FOO) | ||
| 32 | 31 | ||
| 33 | === 5 Kbuild clean infrastructure | 32 | === 5 Kbuild clean infrastructure |
| 34 | 33 | ||
| @@ -595,11 +594,11 @@ compilation stage. · 560 unmodified lines | |||
| 595 | Two steps are required in order to use a host executable. | 594 | Two steps are required in order to use a host executable. |
| 596 | 595 | ||
| 597 | The first step is to tell kbuild that a host program exists. This is | 596 | The first step is to tell kbuild that a host program exists. This is |
| 598 | done utilising the variable hostprogs-y. | 597 | done utilising the variable "hostprogs". |
| 599 | 598 | ||
| 600 | The second step is to add an explicit dependency to the executable. | 599 | The second step is to add an explicit dependency to the executable. |
| 601 | This can be done in two ways. Either add the dependency in a rule, | 600 | This can be done in two ways. Either add the dependency in a rule, |
| 602 | or utilise the variable $(always). | 601 | or utilise the variable "always-y". |
| 603 | Both possibilities are described in the following. | 602 | Both possibilities are described in the following. |
| 604 | 603 | ||
| 605 | 4.1 Simple Host Program | 604 | 4.1 Simple Host Program |
| @@ -612,7 +611,7 @@ Both possibilities are described in the following. · 6 unmodified lines | |||
| 612 | 611 | ||
| 613 | Example:: | 612 | Example:: |
| 614 | 613 | ||
| 615 | hostprogs-y := bin2hex | 614 | hostprogs := bin2hex |
| 616 | 615 | ||
| 617 | Kbuild assumes in the above example that bin2hex is made from a single | 616 | Kbuild assumes in the above example that bin2hex is made from a single |
| 618 | c-source file named bin2hex.c located in the same directory as | 617 | c-source file named bin2hex.c located in the same directory as |
| @@ -630,7 +629,7 @@ Both possibilities are described in the following. · 11 unmodified lines | |||
| 630 | Example:: | 629 | Example:: |
| 631 | 630 | ||
| 632 | #scripts/lxdialog/Makefile | 631 | #scripts/lxdialog/Makefile |
| 633 | hostprogs-y := lxdialog | 632 | hostprogs := lxdialog |
| 634 | lxdialog-objs := checklist.o lxdialog.o | 633 | lxdialog-objs := checklist.o lxdialog.o |
| 635 | 634 | ||
| 636 | Objects with extension .o are compiled from the corresponding .c | 635 | Objects with extension .o are compiled from the corresponding .c |
| @@ -650,7 +649,7 @@ Both possibilities are described in the following. · 13 unmodified lines | |||
| 650 | Example:: | 649 | Example:: |
| 651 | 650 | ||
| 652 | #scripts/kconfig/Makefile | 651 | #scripts/kconfig/Makefile |
| 653 | hostprogs-y := qconf | 652 | hostprogs := qconf |
| 654 | qconf-cxxobjs := qconf.o | 653 | qconf-cxxobjs := qconf.o |
| 655 | 654 | ||
| 656 | In the example above the executable is composed of the C++ file | 655 | In the example above the executable is composed of the C++ file |
| @@ -662,7 +661,7 @@ Both possibilities are described in the following. · 5 unmodified lines | |||
| 662 | Example:: | 661 | Example:: |
| 663 | 662 | ||
| 664 | #scripts/kconfig/Makefile | 663 | #scripts/kconfig/Makefile |
| 665 | hostprogs-y := qconf | 664 | hostprogs := qconf |
| 666 | qconf-cxxobjs := qconf.o | 665 | qconf-cxxobjs := qconf.o |
| 667 | qconf-objs := check.o | 666 | qconf-objs := check.o |
| 668 | 667 | ||
| @@ -710,7 +709,7 @@ Both possibilities are described in the following. · 41 unmodified lines | |||
| 710 | Example:: | 709 | Example:: |
| 711 | 710 | ||
| 712 | #drivers/pci/Makefile | 711 | #drivers/pci/Makefile |
| 713 | hostprogs-y := gen-devlist | 712 | hostprogs := gen-devlist |
| 714 | $(obj)/devlist.h: $(src)/pci.ids $(obj)/gen-devlist | 713 | $(obj)/devlist.h: $(src)/pci.ids $(obj)/gen-devlist |
| 715 | ( cd $(obj); ./gen-devlist ) < $< | 714 | ( cd $(obj); ./gen-devlist ) < $< |
| 716 | 715 | ||
| @@ -718,47 +717,31 @@ Both possibilities are described in the following. · 1 unmodified line | |||
| 718 | $(obj)/gen-devlist is updated. Note that references to | 717 | $(obj)/gen-devlist is updated. Note that references to |
| 719 | the host programs in special rules must be prefixed with $(obj). | 718 | the host programs in special rules must be prefixed with $(obj). |
| 720 | 719 | ||
| 721 | (2) Use $(always) | 720 | (2) Use always-y |
| 722 | 721 | ||
| 723 | When there is no suitable special rule, and the host program | 722 | When there is no suitable special rule, and the host program |
| 724 | shall be built when a makefile is entered, the $(always) | 723 | shall be built when a makefile is entered, the always-y |
| 725 | variable shall be used. | 724 | variable shall be used. |
| 726 | 725 | ||
| 727 | Example:: | 726 | Example:: |
| 728 | 727 | ||
| 729 | #scripts/lxdialog/Makefile | 728 | #scripts/lxdialog/Makefile |
| 730 | hostprogs-y := lxdialog | 729 | hostprogs := lxdialog |
| 731 | always := $(hostprogs-y) | 730 | always-y := $(hostprogs) |
| 732 | 731 | ||
| 733 | This will tell kbuild to build lxdialog even if not referenced in | 732 | This will tell kbuild to build lxdialog even if not referenced in |
| 734 | any rule. | 733 | any rule. |
| 735 | 734 | ||
| 736 | 4.6 Using hostprogs-$(CONFIG_FOO) | ||
| 737 | --------------------------------- | ||
| 738 | |||
| 739 | A typical pattern in a Kbuild file looks like this: | ||
| 740 | |||
| 741 | Example:: | ||
| 742 | |||
| 743 | #scripts/Makefile | ||
| 744 | hostprogs-$(CONFIG_KALLSYMS) += kallsyms | ||
| 745 | |||
| 746 | Kbuild knows about both 'y' for built-in and 'm' for module. | ||
| 747 | So if a config symbol evaluates to 'm', kbuild will still build | ||
| 748 | the binary. In other words, Kbuild handles hostprogs-m exactly | ||
| 749 | like hostprogs-y. But only hostprogs-y is recommended to be used | ||
| 750 | when no CONFIG symbols are involved. | ||
| 751 | |||
| 752 | 5 Kbuild clean infrastructure | 735 | 5 Kbuild clean infrastructure |
| 753 | ============================= | 736 | ============================= |
| 754 | 737 | ||
| 755 | "make clean" deletes most generated files in the obj tree where the kernel | 738 | "make clean" deletes most generated files in the obj tree where the kernel |
| 756 | is compiled. This includes generated files such as host programs. | 739 | is compiled. This includes generated files such as host programs. |
| 757 | Kbuild knows targets listed in $(hostprogs-y), $(hostprogs-m), $(always), | 740 | Kbuild knows targets listed in $(hostprogs), $(always-y), $(always-m), |
| 758 | $(extra-y) and $(targets). They are all deleted during "make clean". | 741 | $(always-), $(extra-y), $(extra-) and $(targets). They are all deleted |
| 759 | Files matching the patterns "*.[oas]", "*.ko", plus some additional files | 742 | during "make clean". Files matching the patterns "*.[oas]", "*.ko", plus |
| 760 | generated by kbuild are deleted all over the kernel src tree when | 743 | some additional files generated by kbuild are deleted all over the kernel |
| 761 | "make clean" is executed. | 744 | source tree when "make clean" is executed. |
| 762 | 745 | ||
| 763 | Additional files or directories can be specified in kbuild makefiles by use of | 746 | Additional files or directories can be specified in kbuild makefiles by use of |
| 764 | $(clean-files). | 747 | $(clean-files). |
| @@ -7,7 +7,7 @@ · 6 unmodified lines | |||
| 7 | 7 | ||
| 8 | bounds-file := include/generated/bounds.h | 8 | bounds-file := include/generated/bounds.h |
| 9 | 9 | ||
| 10 | always := $(bounds-file) | 10 | always-y := $(bounds-file) |
| 11 | targets := kernel/bounds.s | 11 | targets := kernel/bounds.s |
| 12 | 12 | ||
| 13 | $(bounds-file): kernel/bounds.s FORCE | 13 | $(bounds-file): kernel/bounds.s FORCE |
| @@ -28,7 +28,7 @@ $(timeconst-file): kernel/time/timeconst.bc FORCE · 14 unmodified lines | |||
| 28 | 28 | ||
| 29 | offsets-file := include/generated/asm-offsets.h | 29 | offsets-file := include/generated/asm-offsets.h |
| 30 | 30 | ||
| 31 | always += $(offsets-file) | 31 | always-y += $(offsets-file) |
| 32 | targets += arch/$(SRCARCH)/kernel/asm-offsets.s | 32 | targets += arch/$(SRCARCH)/kernel/asm-offsets.s |
| 33 | 33 | ||
| 34 | arch/$(SRCARCH)/kernel/asm-offsets.s: $(timeconst-file) $(bounds-file) | 34 | arch/$(SRCARCH)/kernel/asm-offsets.s: $(timeconst-file) $(bounds-file) |
| @@ -39,7 +39,7 @@ $(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s FORCE · 4 unmodified lines | |||
| 39 | ##### | 39 | ##### |
| 40 | # Check for missing system calls | 40 | # Check for missing system calls |
| 41 | 41 | ||
| 42 | always += missing-syscalls | 42 | always-y += missing-syscalls |
| 43 | 43 | ||
| 44 | quiet_cmd_syscalls = CALL $< | 44 | quiet_cmd_syscalls = CALL $< |
| 45 | cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags) | 45 | cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags) |
| @@ -50,7 +50,7 @@ missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE · 4 unmodified lines | |||
| 50 | ##### | 50 | ##### |
| 51 | # Check atomic headers are up-to-date | 51 | # Check atomic headers are up-to-date |
| 52 | 52 | ||
| 53 | always += old-atomics | 53 | always-y += old-atomics |
| 54 | 54 | ||
| 55 | quiet_cmd_atomics = CALL $< | 55 | quiet_cmd_atomics = CALL $< |
| 56 | cmd_atomics = $(CONFIG_SHELL) $< | 56 | cmd_atomics = $(CONFIG_SHELL) $< |
| @@ -8,7 +8,7 @@ · 7 unmodified lines | |||
| 8 | # Copyright (C) 1994 by Linus Torvalds | 8 | # Copyright (C) 1994 by Linus Torvalds |
| 9 | # | 9 | # |
| 10 | 10 | ||
| 11 | hostprogs-y := tools/mkbb tools/objstrip | 11 | hostprogs := tools/mkbb tools/objstrip |
| 12 | targets := vmlinux.gz vmlinux \ | 12 | targets := vmlinux.gz vmlinux \ |
| 13 | vmlinux.nh tools/lxboot tools/bootlx tools/bootph \ | 13 | vmlinux.nh tools/lxboot tools/bootlx tools/bootph \ |
| 14 | tools/bootpzh bootloader bootpheader bootpzheader | 14 | tools/bootpzh bootloader bootpheader bootpzheader |
| @@ -5,7 +5,7 @@ · 4 unmodified lines | |||
| 5 | ARCH_REL_TYPE_ABS := R_ARM_JUMP_SLOT|R_ARM_GLOB_DAT|R_ARM_ABS32 | 5 | ARCH_REL_TYPE_ABS := R_ARM_JUMP_SLOT|R_ARM_GLOB_DAT|R_ARM_ABS32 |
| 6 | include $(srctree)/lib/vdso/Makefile | 6 | include $(srctree)/lib/vdso/Makefile |
| 7 | 7 | ||
| 8 | hostprogs-y := vdsomunge | 8 | hostprogs := vdsomunge |
| 9 | 9 | ||
| 10 | obj-vdso := vgettimeofday.o datapage.o note.o | 10 | obj-vdso := vgettimeofday.o datapage.o note.o |
| 11 | 11 | ||
| @@ -115,9 +115,9 @@ VDSO_LDFLAGS += $(call cc32-ldoption,-fuse-ld=bfd) · 114 unmodified lines | |||
| 115 | 115 | ||
| 116 | # Borrow vdsomunge.c from the arm vDSO | 116 | # Borrow vdsomunge.c from the arm vDSO |
| 117 | # We have to use a relative path because scripts/Makefile.host prefixes | 117 | # We have to use a relative path because scripts/Makefile.host prefixes |
| 118 | # $(hostprogs-y) with $(obj) | 118 | # $(hostprogs) with $(obj) |
| 119 | munge := ../../../arm/vdso/vdsomunge | 119 | munge := ../../../arm/vdso/vdsomunge |
| 120 | hostprogs-y := $(munge) | 120 | hostprogs := $(munge) |
| 121 | 121 | ||
| 122 | c-obj-vdso := note.o | 122 | c-obj-vdso := note.o |
| 123 | c-obj-vdso-gettimeofday := vgettimeofday.o | 123 | c-obj-vdso-gettimeofday := vgettimeofday.o |
| @@ -21,7 +21,7 @@ endif · 20 unmodified lines | |||
| 21 | drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options | 21 | drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options |
| 22 | strip-flags := $(addprefix --remove-section=,$(drop-sections)) | 22 | strip-flags := $(addprefix --remove-section=,$(drop-sections)) |
| 23 | 23 | ||
| 24 | hostprogs-y := elf2ecoff | 24 | hostprogs := elf2ecoff |
| 25 | 25 | ||
| 26 | suffix-y := bin | 26 | suffix-y := bin |
| 27 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | 27 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 |
| @@ -84,7 +84,7 @@ $(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE · 83 unmodified lines | |||
| 84 | HOSTCFLAGS_calc_vmlinuz_load_addr.o += $(LINUXINCLUDE) | 84 | HOSTCFLAGS_calc_vmlinuz_load_addr.o += $(LINUXINCLUDE) |
| 85 | 85 | ||
| 86 | # Calculate the load address of the compressed kernel image | 86 | # Calculate the load address of the compressed kernel image |
| 87 | hostprogs-y := calc_vmlinuz_load_addr | 87 | hostprogs := calc_vmlinuz_load_addr |
| 88 | 88 | ||
| 89 | ifneq ($(zload-y),) | 89 | ifneq ($(zload-y),) |
| 90 | VMLINUZ_LOAD_ADDRESS := $(zload-y) | 90 | VMLINUZ_LOAD_ADDRESS := $(zload-y) |
| @@ -112,7 +112,7 @@ ifdef CONFIG_MACH_DECSTATION · 21 unmodified lines | |||
| 112 | endif | 112 | endif |
| 113 | 113 | ||
| 114 | # elf2ecoff can only handle 32bit image | 114 | # elf2ecoff can only handle 32bit image |
| 115 | hostprogs-y += ../elf2ecoff | 115 | hostprogs += ../elf2ecoff |
| 116 | 116 | ||
| 117 | ifdef CONFIG_32BIT | 117 | ifdef CONFIG_32BIT |
| 118 | VMLINUZ = vmlinuz | 118 | VMLINUZ = vmlinuz |
| @@ -1,6 +1,6 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | ||
| 3 | hostprogs-y += relocs | 3 | hostprogs += relocs |
| 4 | relocs-objs += relocs_32.o | 4 | relocs-objs += relocs_32.o |
| 5 | relocs-objs += relocs_64.o | 5 | relocs-objs += relocs_64.o |
| 6 | relocs-objs += relocs_main.o | 6 | relocs-objs += relocs_main.o |
| @@ -1,10 +1,10 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | hostprogs-y := elf-entry | 2 | hostprogs := elf-entry |
| 3 | PHONY += elf-entry | 3 | PHONY += elf-entry |
| 4 | elf-entry: $(obj)/elf-entry | 4 | elf-entry: $(obj)/elf-entry |
| 5 | @: | 5 | @: |
| 6 | 6 | ||
| 7 | hostprogs-$(CONFIG_CPU_LOONGSON3_WORKAROUNDS) += loongson3-llsc-check | 7 | hostprogs += loongson3-llsc-check |
| 8 | PHONY += loongson3-llsc-check | 8 | PHONY += loongson3-llsc-check |
| 9 | loongson3-llsc-check: $(obj)/loongson3-llsc-check | 9 | loongson3-llsc-check: $(obj)/loongson3-llsc-check |
| 10 | @: | 10 | @: |
| @@ -100,7 +100,7 @@ $(obj)/%.so.raw: OBJCOPYFLAGS := -S · 99 unmodified lines | |||
| 100 | $(obj)/%.so.raw: $(obj)/%.so.dbg.raw FORCE | 100 | $(obj)/%.so.raw: $(obj)/%.so.dbg.raw FORCE |
| 101 | $(call if_changed,objcopy) | 101 | $(call if_changed,objcopy) |
| 102 | 102 | ||
| 103 | hostprogs-y := genvdso | 103 | hostprogs := genvdso |
| 104 | 104 | ||
| 105 | quiet_cmd_genvdso = GENVDSO $@ | 105 | quiet_cmd_genvdso = GENVDSO $@ |
| 106 | define cmd_genvdso | 106 | define cmd_genvdso |
| @@ -224,7 +224,7 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE · 223 unmodified lines | |||
| 224 | $(obj)/wrapper.a: $(obj-wlib) FORCE | 224 | $(obj)/wrapper.a: $(obj-wlib) FORCE |
| 225 | $(call if_changed,bootar) | 225 | $(call if_changed,bootar) |
| 226 | 226 | ||
| 227 | hostprogs-y := addnote hack-coff mktree | 227 | hostprogs := addnote hack-coff mktree |
| 228 | 228 | ||
| 229 | targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) | 229 | targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) |
| 230 | extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ | 230 | extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ |
| @@ -464,7 +464,7 @@ WRAPPER_BINDIR := /usr/sbin · 233 unmodified lines | |||
| 464 | INSTALL := install | 464 | INSTALL := install |
| 465 | 465 | ||
| 466 | extra-installed := $(patsubst $(obj)/%, $(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y)) | 466 | extra-installed := $(patsubst $(obj)/%, $(DESTDIR)$(WRAPPER_OBJDIR)/%, $(extra-y)) |
| 467 | hostprogs-installed := $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, $(hostprogs-y)) | 467 | hostprogs-installed := $(patsubst %, $(DESTDIR)$(WRAPPER_BINDIR)/%, $(hostprogs)) |
| 468 | wrapper-installed := $(DESTDIR)$(WRAPPER_BINDIR)/wrapper | 468 | wrapper-installed := $(DESTDIR)$(WRAPPER_BINDIR)/wrapper |
| 469 | dts-installed := $(patsubst $(dtstree)/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(dtstree)/*.dts)) | 469 | dts-installed := $(patsubst $(dtstree)/%, $(DESTDIR)$(WRAPPER_DTSDIR)/%, $(wildcard $(dtstree)/*.dts)) |
| 470 | 470 | ||
| @@ -10,8 +10,8 @@ PHONY += kapi · 9 unmodified lines | |||
| 10 | 10 | ||
| 11 | kapi: $(kapi-hdrs-y) | 11 | kapi: $(kapi-hdrs-y) |
| 12 | 12 | ||
| 13 | hostprogs-y += gen_facilities | 13 | hostprogs += gen_facilities |
| 14 | hostprogs-y += gen_opcode_table | 14 | hostprogs += gen_opcode_table |
| 15 | 15 | ||
| 16 | HOSTCFLAGS_gen_facilities.o += $(LINUXINCLUDE) | 16 | HOSTCFLAGS_gen_facilities.o += $(LINUXINCLUDE) |
| 17 | 17 | ||
| @@ -7,7 +7,7 @@ · 6 unmodified lines | |||
| 7 | ROOT_IMG := /usr/src/root.img | 7 | ROOT_IMG := /usr/src/root.img |
| 8 | ELFTOAOUT := elftoaout | 8 | ELFTOAOUT := elftoaout |
| 9 | 9 | ||
| 10 | hostprogs-y := piggyback | 10 | hostprogs := piggyback |
| 11 | targets := tftpboot.img image zImage vmlinux.aout | 11 | targets := tftpboot.img image zImage vmlinux.aout |
| 12 | clean-files := System.map | 12 | clean-files := System.map |
| 13 | 13 | ||
| @@ -41,7 +41,7 @@ $(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE · 40 unmodified lines | |||
| 41 | $(call if_changed,vdso) | 41 | $(call if_changed,vdso) |
| 42 | 42 | ||
| 43 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include | 43 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include |
| 44 | hostprogs-y += vdso2c | 44 | hostprogs += vdso2c |
| 45 | 45 | ||
| 46 | quiet_cmd_vdso2c = VDSO2C $@ | 46 | quiet_cmd_vdso2c = VDSO2C $@ |
| 47 | cmd_vdso2c = $(obj)/vdso2c $< $(<:%.dbg=%) $@ | 47 | cmd_vdso2c = $(obj)/vdso2c $< $(<:%.dbg=%) $@ |
| @@ -45,8 +45,8 @@ setup-y += video-vesa.o · 44 unmodified lines | |||
| 45 | setup-y += video-bios.o | 45 | setup-y += video-bios.o |
| 46 | 46 | ||
| 47 | targets += $(setup-y) | 47 | targets += $(setup-y) |
| 48 | hostprogs-y := tools/build | 48 | hostprogs := tools/build |
| 49 | hostprogs-$(CONFIG_X86_FEATURE_NAMES) += mkcpustr | 49 | hostprogs += mkcpustr |
| 50 | 50 | ||
| 51 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include \ | 51 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include \ |
| 52 | -include include/generated/autoconf.h \ | 52 | -include include/generated/autoconf.h \ |
| @@ -58,7 +58,7 @@ KBUILD_LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \ · 57 unmodified lines | |||
| 58 | endif | 58 | endif |
| 59 | LDFLAGS_vmlinux := -T | 59 | LDFLAGS_vmlinux := -T |
| 60 | 60 | ||
| 61 | hostprogs-y := mkpiggy | 61 | hostprogs := mkpiggy |
| 62 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include | 62 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include |
| 63 | 63 | ||
| 64 | sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p' | 64 | sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p' |
| @@ -59,7 +59,7 @@ $(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE · 58 unmodified lines | |||
| 59 | $(call if_changed,vdso_and_check) | 59 | $(call if_changed,vdso_and_check) |
| 60 | 60 | ||
| 61 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include -I$(srctree)/include/uapi -I$(srctree)/arch/$(SUBARCH)/include/uapi | 61 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include -I$(srctree)/include/uapi -I$(srctree)/arch/$(SUBARCH)/include/uapi |
| 62 | hostprogs-y += vdso2c | 62 | hostprogs += vdso2c |
| 63 | 63 | ||
| 64 | quiet_cmd_vdso2c = VDSO2C $@ | 64 | quiet_cmd_vdso2c = VDSO2C $@ |
| 65 | cmd_vdso2c = $(obj)/vdso2c $< $(<:%.dbg=%) $@ | 65 | cmd_vdso2c = $(obj)/vdso2c $< $(<:%.dbg=%) $@ |
| @@ -12,7 +12,7 @@ OBJECT_FILES_NON_STANDARD := y · 11 unmodified lines | |||
| 12 | # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in. | 12 | # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in. |
| 13 | KCOV_INSTRUMENT := n | 13 | KCOV_INSTRUMENT := n |
| 14 | 14 | ||
| 15 | always := realmode.bin realmode.relocs | 15 | always-y := realmode.bin realmode.relocs |
| 16 | 16 | ||
| 17 | wakeup-objs := wakeup_asm.o wakemain.o video-mode.o | 17 | wakeup-objs := wakeup_asm.o wakemain.o video-mode.o |
| 18 | wakeup-objs += copy.o bioscall.o regs.o | 18 | wakeup-objs += copy.o bioscall.o regs.o |
| @@ -26,7 +26,7 @@ posttest: $(obj)/insn_decoder_test vmlinux $(obj)/insn_sanity · 25 unmodified lines | |||
| 26 | $(call cmd,posttest) | 26 | $(call cmd,posttest) |
| 27 | $(call cmd,sanitytest) | 27 | $(call cmd,sanitytest) |
| 28 | 28 | ||
| 29 | hostprogs-y += insn_decoder_test insn_sanity | 29 | hostprogs += insn_decoder_test insn_sanity |
| 30 | 30 | ||
| 31 | # -I needed for generated C source and C source which in the kernel tree. | 31 | # -I needed for generated C source and C source which in the kernel tree. |
| 32 | HOSTCFLAGS_insn_decoder_test.o := -Wall -I$(objtree)/arch/x86/lib/ -I$(srctree)/arch/x86/include/uapi/ -I$(srctree)/arch/x86/include/ -I$(srctree)/arch/x86/lib/ -I$(srctree)/include/uapi/ | 32 | HOSTCFLAGS_insn_decoder_test.o := -Wall -I$(objtree)/arch/x86/lib/ -I$(srctree)/arch/x86/include/uapi/ -I$(srctree)/arch/x86/include/ -I$(srctree)/arch/x86/lib/ -I$(srctree)/include/uapi/ |
| @@ -39,7 +39,7 @@ $(obj)/insn_decoder_test.o: $(srctree)/arch/x86/lib/insn.c $(srctree)/arch/x86/l · 6 unmodified lines | |||
| 39 | $(obj)/insn_sanity.o: $(srctree)/arch/x86/lib/insn.c $(srctree)/arch/x86/lib/inat.c $(srctree)/arch/x86/include/asm/inat_types.h $(srctree)/arch/x86/include/asm/inat.h $(srctree)/arch/x86/include/asm/insn.h $(objtree)/arch/x86/lib/inat-tables.c | 39 | $(obj)/insn_sanity.o: $(srctree)/arch/x86/lib/insn.c $(srctree)/arch/x86/lib/inat.c $(srctree)/arch/x86/include/asm/inat_types.h $(srctree)/arch/x86/include/asm/inat.h $(srctree)/arch/x86/include/asm/insn.h $(objtree)/arch/x86/lib/inat-tables.c |
| 40 | 40 | ||
| 41 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include | 41 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include |
| 42 | hostprogs-y += relocs | 42 | hostprogs += relocs |
| 43 | relocs-objs := relocs_32.o relocs_64.o relocs_common.o | 43 | relocs-objs := relocs_32.o relocs_64.o relocs_common.o |
| 44 | PHONY += relocs | 44 | PHONY += relocs |
| 45 | relocs: $(obj)/relocs | 45 | relocs: $(obj)/relocs |
| @@ -5,7 +5,7 @@ · 4 unmodified lines | |||
| 5 | 5 | ||
| 6 | ccflags-y := -Idrivers/gpu/drm/amd/include | 6 | ccflags-y := -Idrivers/gpu/drm/amd/include |
| 7 | 7 | ||
| 8 | hostprogs-y := mkregtable | 8 | hostprogs := mkregtable |
| 9 | clean-files := rn50_reg_safe.h r100_reg_safe.h r200_reg_safe.h rv515_reg_safe.h r300_reg_safe.h r420_reg_safe.h rs600_reg_safe.h r600_reg_safe.h evergreen_reg_safe.h cayman_reg_safe.h | 9 | clean-files := rn50_reg_safe.h r100_reg_safe.h r200_reg_safe.h rv515_reg_safe.h r300_reg_safe.h r420_reg_safe.h rs600_reg_safe.h r600_reg_safe.h evergreen_reg_safe.h cayman_reg_safe.h |
| 10 | 10 | ||
| 11 | quiet_cmd_mkregtable = MKREGTABLE $@ | 11 | quiet_cmd_mkregtable = MKREGTABLE $@ |
| @@ -12,7 +12,7 @@ obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o · 11 unmodified lines | |||
| 12 | # Files generated that shall be removed upon make clean | 12 | # Files generated that shall be removed upon make clean |
| 13 | clean-files := consolemap_deftbl.c defkeymap.c | 13 | clean-files := consolemap_deftbl.c defkeymap.c |
| 14 | 14 | ||
| 15 | hostprogs-y += conmakehash | 15 | hostprogs += conmakehash |
| 16 | 16 | ||
| 17 | quiet_cmd_conmk = CONMK $@ | 17 | quiet_cmd_conmk = CONMK $@ |
| 18 | cmd_conmk = $(obj)/conmakehash $< > $@ | 18 | cmd_conmk = $(obj)/conmakehash $< > $@ |
| @@ -18,7 +18,7 @@ obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o · 17 unmodified lines | |||
| 18 | 18 | ||
| 19 | # How to generate logo's | 19 | # How to generate logo's |
| 20 | 20 | ||
| 21 | hostprogs-y := pnmtologo | 21 | hostprogs := pnmtologo |
| 22 | 22 | ||
| 23 | # Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..." | 23 | # Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..." |
| 24 | quiet_cmd_logo = LOGO $@ | 24 | quiet_cmd_logo = LOGO $@ |
| @@ -7,7 +7,7 @@ obj-$(CONFIG_ZORRO) += zorro.o zorro-driver.o zorro-sysfs.o · 6 unmodified lines | |||
| 7 | obj-$(CONFIG_PROC_FS) += proc.o | 7 | obj-$(CONFIG_PROC_FS) += proc.o |
| 8 | obj-$(CONFIG_ZORRO_NAMES) += names.o | 8 | obj-$(CONFIG_ZORRO_NAMES) += names.o |
| 9 | 9 | ||
| 10 | hostprogs-y := gen-devlist | 10 | hostprogs := gen-devlist |
| 11 | 11 | ||
| 12 | # Files generated that shall be removed upon make clean | 12 | # Files generated that shall be removed upon make clean |
| 13 | clean-files := devlist.h | 13 | clean-files := devlist.h |
| @@ -35,4 +35,4 @@ $(obj)/utf8data.h: $(src)/utf8data.h_shipped FORCE · 34 unmodified lines | |||
| 35 | endif | 35 | endif |
| 36 | 36 | ||
| 37 | targets += utf8data.h | 37 | targets += utf8data.h |
| 38 | hostprogs-y += mkutf8data | 38 | hostprogs += mkutf8data |
| @@ -239,8 +239,8 @@ obj-$(CONFIG_ASN1) += asn1_decoder.o · 238 unmodified lines | |||
| 239 | 239 | ||
| 240 | obj-$(CONFIG_FONT_SUPPORT) += fonts/ | 240 | obj-$(CONFIG_FONT_SUPPORT) += fonts/ |
| 241 | 241 | ||
| 242 | hostprogs-y := gen_crc32table | 242 | hostprogs := gen_crc32table |
| 243 | hostprogs-y += gen_crc64table | 243 | hostprogs += gen_crc64table |
| 244 | clean-files := crc32table.h | 244 | clean-files := crc32table.h |
| 245 | clean-files += crc64table.h | 245 | clean-files += crc64table.h |
| 246 | 246 | ||
| @@ -10,7 +10,7 @@ raid6_pq-$(CONFIG_ALTIVEC) += altivec1.o altivec2.o altivec4.o altivec8.o \ · 9 unmodified lines | |||
| 10 | raid6_pq-$(CONFIG_KERNEL_MODE_NEON) += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o | 10 | raid6_pq-$(CONFIG_KERNEL_MODE_NEON) += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o |
| 11 | raid6_pq-$(CONFIG_S390) += s390vx8.o recov_s390xc.o | 11 | raid6_pq-$(CONFIG_S390) += s390vx8.o recov_s390xc.o |
| 12 | 12 | ||
| 13 | hostprogs-y += mktables | 13 | hostprogs += mktables |
| 14 | 14 | ||
| 15 | ifeq ($(CONFIG_ALTIVEC),y) | 15 | ifeq ($(CONFIG_ALTIVEC),y) |
| 16 | altivec_flags := -maltivec $(call cc-option,-mabi=altivec) | 16 | altivec_flags := -maltivec $(call cc-option,-mabi=altivec) |
| @@ -3,7 +3,7 @@ · 2 unmodified lines | |||
| 3 | # Makefile for the Linux BPFILTER layer. | 3 | # Makefile for the Linux BPFILTER layer. |
| 4 | # | 4 | # |
| 5 | 5 | ||
| 6 | hostprogs-y := bpfilter_umh | 6 | hostprogs := bpfilter_umh |
| 7 | bpfilter_umh-objs := main.o | 7 | bpfilter_umh-objs := main.o |
| 8 | KBUILD_HOSTCFLAGS += -I $(srctree)/tools/include/ -I $(srctree)/tools/include/uapi | 8 | KBUILD_HOSTCFLAGS += -I $(srctree)/tools/include/ -I $(srctree)/tools/include/uapi |
| 9 | HOSTCC := $(CC) | 9 | HOSTCC := $(CC) |
| @@ -111,65 +111,65 @@ ibumad-objs := bpf_load.o ibumad_user.o $(TRACE_HELPERS) · 110 unmodified lines | |||
| 111 | hbm-objs := bpf_load.o hbm.o $(CGROUP_HELPERS) | 111 | hbm-objs := bpf_load.o hbm.o $(CGROUP_HELPERS) |
| 112 | 112 | ||
| 113 | # Tell kbuild to always build the programs | 113 | # Tell kbuild to always build the programs |
| 114 | always := $(tprogs-y) | 114 | always-y := $(tprogs-y) |
| 115 | always += sockex1_kern.o | 115 | always-y += sockex1_kern.o |
| 116 | always += sockex2_kern.o | 116 | always-y += sockex2_kern.o |
| 117 | always += sockex3_kern.o | 117 | always-y += sockex3_kern.o |
| 118 | always += tracex1_kern.o | 118 | always-y += tracex1_kern.o |
| 119 | always += tracex2_kern.o | 119 | always-y += tracex2_kern.o |
| 120 | always += tracex3_kern.o | 120 | always-y += tracex3_kern.o |
| 121 | always += tracex4_kern.o | 121 | always-y += tracex4_kern.o |
| 122 | always += tracex5_kern.o | 122 | always-y += tracex5_kern.o |
| 123 | always += tracex6_kern.o | 123 | always-y += tracex6_kern.o |
| 124 | always += tracex7_kern.o | 124 | always-y += tracex7_kern.o |
| 125 | always += sock_flags_kern.o | 125 | always-y += sock_flags_kern.o |
| 126 | always += test_probe_write_user_kern.o | 126 | always-y += test_probe_write_user_kern.o |
| 127 | always += trace_output_kern.o | 127 | always-y += trace_output_kern.o |
| 128 | always += tcbpf1_kern.o | 128 | always-y += tcbpf1_kern.o |
| 129 | always += tc_l2_redirect_kern.o | 129 | always-y += tc_l2_redirect_kern.o |
| 130 | always += lathist_kern.o | 130 | always-y += lathist_kern.o |
| 131 | always += offwaketime_kern.o | 131 | always-y += offwaketime_kern.o |
| 132 | always += spintest_kern.o | 132 | always-y += spintest_kern.o |
| 133 | always += map_perf_test_kern.o | 133 | always-y += map_perf_test_kern.o |
| 134 | always += test_overhead_tp_kern.o | 134 | always-y += test_overhead_tp_kern.o |
| 135 | always += test_overhead_raw_tp_kern.o | 135 | always-y += test_overhead_raw_tp_kern.o |
| 136 | always += test_overhead_kprobe_kern.o | 136 | always-y += test_overhead_kprobe_kern.o |
| 137 | always += parse_varlen.o parse_simple.o parse_ldabs.o | 137 | always-y += parse_varlen.o parse_simple.o parse_ldabs.o |
| 138 | always += test_cgrp2_tc_kern.o | 138 | always-y += test_cgrp2_tc_kern.o |
| 139 | always += xdp1_kern.o | 139 | always-y += xdp1_kern.o |
| 140 | always += xdp2_kern.o | 140 | always-y += xdp2_kern.o |
| 141 | always += xdp_router_ipv4_kern.o | 141 | always-y += xdp_router_ipv4_kern.o |
| 142 | always += test_current_task_under_cgroup_kern.o | 142 | always-y += test_current_task_under_cgroup_kern.o |
| 143 | always += trace_event_kern.o | 143 | always-y += trace_event_kern.o |
| 144 | always += sampleip_kern.o | 144 | always-y += sampleip_kern.o |
| 145 | always += lwt_len_hist_kern.o | 145 | always-y += lwt_len_hist_kern.o |
| 146 | always += xdp_tx_iptunnel_kern.o | 146 | always-y += xdp_tx_iptunnel_kern.o |
| 147 | always += test_map_in_map_kern.o | 147 | always-y += test_map_in_map_kern.o |
| 148 | always += tcp_synrto_kern.o | 148 | always-y += tcp_synrto_kern.o |
| 149 | always += tcp_rwnd_kern.o | 149 | always-y += tcp_rwnd_kern.o |
| 150 | always += tcp_bufs_kern.o | 150 | always-y += tcp_bufs_kern.o |
| 151 | always += tcp_cong_kern.o | 151 | always-y += tcp_cong_kern.o |
| 152 | always += tcp_iw_kern.o | 152 | always-y += tcp_iw_kern.o |
| 153 | always += tcp_clamp_kern.o | 153 | always-y += tcp_clamp_kern.o |
| 154 | always += tcp_basertt_kern.o | 154 | always-y += tcp_basertt_kern.o |
| 155 | always += tcp_tos_reflect_kern.o | 155 | always-y += tcp_tos_reflect_kern.o |
| 156 | always += tcp_dumpstats_kern.o | 156 | always-y += tcp_dumpstats_kern.o |
| 157 | always += xdp_redirect_kern.o | 157 | always-y += xdp_redirect_kern.o |
| 158 | always += xdp_redirect_map_kern.o | 158 | always-y += xdp_redirect_map_kern.o |
| 159 | always += xdp_redirect_cpu_kern.o | 159 | always-y += xdp_redirect_cpu_kern.o |
| 160 | always += xdp_monitor_kern.o | 160 | always-y += xdp_monitor_kern.o |
| 161 | always += xdp_rxq_info_kern.o | 161 | always-y += xdp_rxq_info_kern.o |
| 162 | always += xdp2skb_meta_kern.o | 162 | always-y += xdp2skb_meta_kern.o |
| 163 | always += syscall_tp_kern.o | 163 | always-y += syscall_tp_kern.o |
| 164 | always += cpustat_kern.o | 164 | always-y += cpustat_kern.o |
| 165 | always += xdp_adjust_tail_kern.o | 165 | always-y += xdp_adjust_tail_kern.o |
| 166 | always += xdp_fwd_kern.o | 166 | always-y += xdp_fwd_kern.o |
| 167 | always += task_fd_query_kern.o | 167 | always-y += task_fd_query_kern.o |
| 168 | always += xdp_sample_pkts_kern.o | 168 | always-y += xdp_sample_pkts_kern.o |
| 169 | always += ibumad_kern.o | 169 | always-y += ibumad_kern.o |
| 170 | always += hbm_out_kern.o | 170 | always-y += hbm_out_kern.o |
| 171 | always += hbm_edt_kern.o | 171 | always-y += hbm_edt_kern.o |
| 172 | always += xdpsock_kern.o | 172 | always-y += xdpsock_kern.o |
| 173 | 173 | ||
| 174 | ifeq ($(ARCH), arm) | 174 | ifeq ($(ARCH), arm) |
| 175 | # Strip all except -D__LINUX_ARM_ARCH__ option needed to handle linux | 175 | # Strip all except -D__LINUX_ARM_ARCH__ option needed to handle linux |
| @@ -2,12 +2,8 @@ · 1 unmodified line | |||
| 2 | obj-$(CONFIG_SAMPLE_CONNECTOR) += cn_test.o | 2 | obj-$(CONFIG_SAMPLE_CONNECTOR) += cn_test.o |
| 3 | 3 | ||
| 4 | # List of programs to build | 4 | # List of programs to build |
| 5 | ifdef CONFIG_SAMPLE_CONNECTOR | 5 | hostprogs := ucon |
| 6 | hostprogs-y := ucon | 6 | always-y := $(hostprogs) |
| 7 | endif | ||
| 8 | |||
| 9 | # Tell kbuild to always build the programs | ||
| 10 | always := $(hostprogs-y) | ||
| 11 | 7 | ||
| 12 | HOSTCFLAGS_ucon.o += -I$(objtree)/usr/include | 8 | HOSTCFLAGS_ucon.o += -I$(objtree)/usr/include |
| 13 | 9 | ||
| @@ -1,9 +1,7 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # List of programs to build | 2 | # List of programs to build |
| 3 | hostprogs-y := hid-example | 3 | hostprogs := hid-example |
| 4 | 4 | always-y := $(hostprogs) | |
| 5 | # Tell kbuild to always build the programs | ||
| 6 | always := $(hostprogs-y) | ||
| 7 | 5 | ||
| 8 | HOSTCFLAGS_hid-example.o += -I$(objtree)/usr/include | 6 | HOSTCFLAGS_hid-example.o += -I$(objtree)/usr/include |
| 9 | 7 | ||
| @@ -1,10 +1,10 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # Copyright (c) 2012-2019, Intel Corporation. All rights reserved. | 2 | # Copyright (c) 2012-2019, Intel Corporation. All rights reserved. |
| 3 | 3 | ||
| 4 | hostprogs-y := mei-amt-version | 4 | hostprogs := mei-amt-version |
| 5 | 5 | ||
| 6 | HOSTCFLAGS_mei-amt-version.o += -I$(objtree)/usr/include | 6 | HOSTCFLAGS_mei-amt-version.o += -I$(objtree)/usr/include |
| 7 | 7 | ||
| 8 | always := $(hostprogs-y) | 8 | always-y := $(hostprogs) |
| 9 | 9 | ||
| 10 | all: mei-amt-version | 10 | all: mei-amt-version |
| @@ -1,6 +1,6 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | ||
| 3 | hostprogs-y := pidfd-metadata | 3 | hostprogs := pidfd-metadata |
| 4 | always := $(hostprogs-y) | 4 | always-y := $(hostprogs) |
| 5 | HOSTCFLAGS_pidfd-metadata.o += -I$(objtree)/usr/include | 5 | HOSTCFLAGS_pidfd-metadata.o += -I$(objtree)/usr/include |
| 6 | all: pidfd-metadata | 6 | all: pidfd-metadata |
| @@ -1,6 +1,6 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | ifndef CROSS_COMPILE | 2 | ifndef CROSS_COMPILE |
| 3 | hostprogs-y := bpf-fancy dropper bpf-direct user-trap | 3 | hostprogs := bpf-fancy dropper bpf-direct user-trap |
| 4 | 4 | ||
| 5 | HOSTCFLAGS_bpf-fancy.o += -I$(objtree)/usr/include | 5 | HOSTCFLAGS_bpf-fancy.o += -I$(objtree)/usr/include |
| 6 | HOSTCFLAGS_bpf-fancy.o += -idirafter $(objtree)/include | 6 | HOSTCFLAGS_bpf-fancy.o += -idirafter $(objtree)/include |
| @@ -40,5 +40,5 @@ HOSTLDLIBS_bpf-fancy += $(MFLAG) · 33 unmodified lines | |||
| 40 | HOSTLDLIBS_dropper += $(MFLAG) | 40 | HOSTLDLIBS_dropper += $(MFLAG) |
| 41 | HOSTLDLIBS_user-trap += $(MFLAG) | 41 | HOSTLDLIBS_user-trap += $(MFLAG) |
| 42 | endif | 42 | endif |
| 43 | always := $(hostprogs-y) | 43 | always-y := $(hostprogs) |
| 44 | endif | 44 | endif |
| @@ -1,8 +1,8 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0-only | 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # List of programs to build | 2 | # List of programs to build |
| 3 | hostprogs-y := uhid-example | 3 | hostprogs := uhid-example |
| 4 | 4 | ||
| 5 | # Tell kbuild to always build the programs | 5 | # Tell kbuild to always build the programs |
| 6 | always := $(hostprogs-y) | 6 | always-y := $(hostprogs) |
| 7 | 7 | ||
| 8 | HOSTCFLAGS_uhid-example.o += -I$(objtree)/usr/include | 8 | HOSTCFLAGS_uhid-example.o += -I$(objtree)/usr/include |
| @@ -1,11 +1,10 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0-only | 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | # List of programs to build | 2 | # List of programs to build |
| 3 | hostprogs-y := \ | 3 | hostprogs := \ |
| 4 | test-fsmount \ | 4 | test-fsmount \ |
| 5 | test-statx | 5 | test-statx |
| 6 | 6 | ||
| 7 | # Tell kbuild to always build the programs | 7 | always-y := $(hostprogs) |
| 8 | always := $(hostprogs-y) | ||
| 9 | 8 | ||
| 10 | HOSTCFLAGS_test-fsmount.o += -I$(objtree)/usr/include | 9 | HOSTCFLAGS_test-fsmount.o += -I$(objtree)/usr/include |
| 11 | HOSTCFLAGS_test-statx.o += -I$(objtree)/usr/include | 10 | HOSTCFLAGS_test-statx.o += -I$(objtree)/usr/include |
| @@ -7,14 +7,14 @@ · 6 unmodified lines | |||
| 7 | 7 | ||
| 8 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include | 8 | HOST_EXTRACFLAGS += -I$(srctree)/tools/include |
| 9 | 9 | ||
| 10 | hostprogs-$(CONFIG_BUILD_BIN2C) += bin2c | 10 | always-$(CONFIG_BUILD_BIN2C) += bin2c |
| 11 | hostprogs-$(CONFIG_KALLSYMS) += kallsyms | 11 | always-$(CONFIG_KALLSYMS) += kallsyms |
| 12 | hostprogs-$(BUILD_C_RECORDMCOUNT) += recordmcount | 12 | always-$(BUILD_C_RECORDMCOUNT) += recordmcount |
| 13 | hostprogs-$(CONFIG_BUILDTIME_TABLE_SORT) += sorttable | 13 | always-$(CONFIG_BUILDTIME_TABLE_SORT) += sorttable |
| 14 | hostprogs-$(CONFIG_ASN1) += asn1_compiler | 14 | always-$(CONFIG_ASN1) += asn1_compiler |
| 15 | hostprogs-$(CONFIG_MODULE_SIG_FORMAT) += sign-file | 15 | always-$(CONFIG_MODULE_SIG_FORMAT) += sign-file |
| 16 | hostprogs-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += extract-cert | 16 | always-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += extract-cert |
| 17 | hostprogs-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert | 17 | always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert |
| 18 | 18 | ||
| 19 | HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include | 19 | HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include |
| 20 | HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include | 20 | HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include |
| @@ -30,10 +30,10 @@ HOSTCFLAGS_sorttable.o += -DUNWINDER_ORC_ENABLED · 9 unmodified lines | |||
| 30 | HOSTLDLIBS_sorttable = -lpthread | 30 | HOSTLDLIBS_sorttable = -lpthread |
| 31 | endif | 31 | endif |
| 32 | 32 | ||
| 33 | always := $(hostprogs-y) $(hostprogs-m) | 33 | hostprogs := $(always-y) $(always-m) |
| 34 | 34 | ||
| 35 | # The following hostprogs-y programs are only build on demand | 35 | # The following programs are only built on demand |
| 36 | hostprogs-y += unifdef | 36 | hostprogs += unifdef |
| 37 | 37 | ||
| 38 | subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins | 38 | subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins |
| 39 | subdir-$(CONFIG_MODVERSIONS) += genksyms | 39 | subdir-$(CONFIG_MODVERSIONS) += genksyms |
| @@ -16,6 +16,8 @@ obj-m := · 15 unmodified lines | |||
| 16 | lib-y := | 16 | lib-y := |
| 17 | lib-m := | 17 | lib-m := |
| 18 | always := | 18 | always := |
| 19 | always-y := | ||
| 20 | always-m := | ||
| 19 | targets := | 21 | targets := |
| 20 | subdir-y := | 22 | subdir-y := |
| 21 | subdir-m := | 23 | subdir-m := |
| @@ -44,7 +46,7 @@ include $(kbuild-file) · 22 unmodified lines | |||
| 44 | include scripts/Makefile.lib | 46 | include scripts/Makefile.lib |
| 45 | 47 | ||
| 46 | # Do not include host rules unless needed | 48 | # Do not include host rules unless needed |
| 47 | ifneq ($(hostprogs-y)$(hostprogs-m)$(hostlibs-y)$(hostlibs-m)$(hostcxxlibs-y)$(hostcxxlibs-m),) | 49 | ifneq ($(hostprogs)$(hostlibs-y)$(hostlibs-m)$(hostcxxlibs-y)$(hostcxxlibs-m),) |
| 48 | include scripts/Makefile.host | 50 | include scripts/Makefile.host |
| 49 | endif | 51 | endif |
| 50 | 52 | ||
| @@ -348,7 +350,7 @@ $(obj)/%.o: $(src)/%.S $(objtool_dep) FORCE · 297 unmodified lines | |||
| 348 | $(call if_changed_rule,as_o_S) | 350 | $(call if_changed_rule,as_o_S) |
| 349 | 351 | ||
| 350 | targets += $(filter-out $(subdir-obj-y), $(real-obj-y)) $(real-obj-m) $(lib-y) | 352 | targets += $(filter-out $(subdir-obj-y), $(real-obj-y)) $(real-obj-m) $(lib-y) |
| 351 | targets += $(extra-y) $(MAKECMDGOALS) $(always) | 353 | targets += $(extra-y) $(always-y) $(MAKECMDGOALS) |
| 352 | 354 | ||
| 353 | # Linker scripts preprocessor (.lds.S -> .lds) | 355 | # Linker scripts preprocessor (.lds.S -> .lds) |
| 354 | # --------------------------------------------------------------------------- | 356 | # --------------------------------------------------------------------------- |
| @@ -490,7 +492,7 @@ else · 135 unmodified lines | |||
| 490 | 492 | ||
| 491 | __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \ | 493 | __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \ |
| 492 | $(if $(KBUILD_MODULES),$(obj-m) $(mod-targets) $(modorder-target)) \ | 494 | $(if $(KBUILD_MODULES),$(obj-m) $(mod-targets) $(modorder-target)) \ |
| 493 | $(subdir-ym) $(always) | 495 | $(subdir-ym) $(always-y) |
| 494 | @: | 496 | @: |
| 495 | 497 | ||
| 496 | endif | 498 | endif |
| @@ -28,8 +28,8 @@ subdir-ymn := $(addprefix $(obj)/,$(subdir-ymn)) · 27 unmodified lines | |||
| 28 | # directory | 28 | # directory |
| 29 | 29 | ||
| 30 | __clean-files := $(extra-y) $(extra-m) $(extra-) \ | 30 | __clean-files := $(extra-y) $(extra-m) $(extra-) \ |
| 31 | $(always) $(targets) $(clean-files) \ | 31 | $(always) $(always-y) $(always-m) $(always-) $(targets) $(clean-files) \ |
| 32 | $(hostprogs-y) $(hostprogs-m) $(hostprogs-) \ | 32 | $(hostprogs) $(hostprogs-y) $(hostprogs-m) $(hostprogs-) \ |
| 33 | $(hostlibs-y) $(hostlibs-m) $(hostlibs-) \ | 33 | $(hostlibs-y) $(hostlibs-m) $(hostlibs-) \ |
| 34 | $(hostcxxlibs-y) $(hostcxxlibs-m) | 34 | $(hostcxxlibs-y) $(hostcxxlibs-m) |
| 35 | 35 | ||
| @@ -24,21 +24,21 @@ $(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE · 23 unmodified lines | |||
| 24 | # Both C and C++ are supported, but preferred language is C for such utilities. | 24 | # Both C and C++ are supported, but preferred language is C for such utilities. |
| 25 | # | 25 | # |
| 26 | # Sample syntax (see Documentation/kbuild/makefiles.rst for reference) | 26 | # Sample syntax (see Documentation/kbuild/makefiles.rst for reference) |
| 27 | # hostprogs-y := bin2hex | 27 | # hostprogs := bin2hex |
| 28 | # Will compile bin2hex.c and create an executable named bin2hex | 28 | # Will compile bin2hex.c and create an executable named bin2hex |
| 29 | # | 29 | # |
| 30 | # hostprogs-y := lxdialog | 30 | # hostprogs := lxdialog |
| 31 | # lxdialog-objs := checklist.o lxdialog.o | 31 | # lxdialog-objs := checklist.o lxdialog.o |
| 32 | # Will compile lxdialog.c and checklist.c, and then link the executable | 32 | # Will compile lxdialog.c and checklist.c, and then link the executable |
| 33 | # lxdialog, based on checklist.o and lxdialog.o | 33 | # lxdialog, based on checklist.o and lxdialog.o |
| 34 | # | 34 | # |
| 35 | # hostprogs-y := qconf | 35 | # hostprogs := qconf |
| 36 | # qconf-cxxobjs := qconf.o | 36 | # qconf-cxxobjs := qconf.o |
| 37 | # qconf-objs := menu.o | 37 | # qconf-objs := menu.o |
| 38 | # Will compile qconf as a C++ program, and menu as a C program. | 38 | # Will compile qconf as a C++ program, and menu as a C program. |
| 39 | # They are linked as C++ code to the executable qconf | 39 | # They are linked as C++ code to the executable qconf |
| 40 | 40 | ||
| 41 | __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m)) | 41 | __hostprogs := $(sort $(hostprogs)) |
| 42 | host-cshlib := $(sort $(hostlibs-y) $(hostlibs-m)) | 42 | host-cshlib := $(sort $(hostlibs-y) $(hostlibs-m)) |
| 43 | host-cxxshlib := $(sort $(hostcxxlibs-y) $(hostcxxlibs-m)) | 43 | host-cxxshlib := $(sort $(hostcxxlibs-y) $(hostcxxlibs-m)) |
| 44 | 44 | ||
| @@ -4,6 +4,8 @@ asflags-y += $(EXTRA_AFLAGS) · 3 unmodified lines | |||
| 4 | ccflags-y += $(EXTRA_CFLAGS) | 4 | ccflags-y += $(EXTRA_CFLAGS) |
| 5 | cppflags-y += $(EXTRA_CPPFLAGS) | 5 | cppflags-y += $(EXTRA_CPPFLAGS) |
| 6 | ldflags-y += $(EXTRA_LDFLAGS) | 6 | ldflags-y += $(EXTRA_LDFLAGS) |
| 7 | always-y += $(always) | ||
| 8 | hostprogs += $(hostprogs-y) $(hostprogs-m) | ||
| 7 | 9 | ||
| 8 | # flags that take effect in current and sub directories | 10 | # flags that take effect in current and sub directories |
| 9 | KBUILD_AFLAGS += $(subdir-asflags-y) | 11 | KBUILD_AFLAGS += $(subdir-asflags-y) |
| @@ -59,6 +61,8 @@ subdir-obj-y := $(filter %/built-in.a, $(obj-y)) · 49 unmodified lines | |||
| 59 | real-obj-y := $(foreach m, $(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) | 61 | real-obj-y := $(foreach m, $(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) |
| 60 | real-obj-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)),$(m))) | 62 | real-obj-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)),$(m))) |
| 61 | 63 | ||
| 64 | always-y += $(always-m) | ||
| 65 | |||
| 62 | # DTB | 66 | # DTB |
| 63 | # If CONFIG_OF_ALL_DTBS is enabled, all DT blobs are built | 67 | # If CONFIG_OF_ALL_DTBS is enabled, all DT blobs are built |
| 64 | extra-y += $(dtb-y) | 68 | extra-y += $(dtb-y) |
| @@ -72,7 +76,7 @@ endif · 7 unmodified lines | |||
| 72 | # Add subdir path | 76 | # Add subdir path |
| 73 | 77 | ||
| 74 | extra-y := $(addprefix $(obj)/,$(extra-y)) | 78 | extra-y := $(addprefix $(obj)/,$(extra-y)) |
| 75 | always := $(addprefix $(obj)/,$(always)) | 79 | always-y := $(addprefix $(obj)/,$(always-y)) |
| 76 | targets := $(addprefix $(obj)/,$(targets)) | 80 | targets := $(addprefix $(obj)/,$(targets)) |
| 77 | modorder := $(addprefix $(obj)/,$(modorder)) | 81 | modorder := $(addprefix $(obj)/,$(modorder)) |
| 78 | obj-m := $(addprefix $(obj)/,$(obj-m)) | 82 | obj-m := $(addprefix $(obj)/,$(obj-m)) |
| @@ -2,5 +2,5 @@ · 1 unmodified line | |||
| 2 | # | 2 | # |
| 3 | # fixdep: used to generate dependency information during build process | 3 | # fixdep: used to generate dependency information during build process |
| 4 | 4 | ||
| 5 | hostprogs-y := fixdep | 5 | hostprogs := fixdep |
| 6 | always := $(hostprogs-y) | 6 | always-y := $(hostprogs) |
| @@ -1,8 +1,8 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # scripts/dtc makefile | 2 | # scripts/dtc makefile |
| 3 | 3 | ||
| 4 | hostprogs-$(CONFIG_DTC) := dtc | 4 | hostprogs := dtc |
| 5 | always := $(hostprogs-y) | 5 | always-$(CONFIG_DTC) := $(hostprogs) |
| 6 | 6 | ||
| 7 | dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ | 7 | dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ |
| 8 | srcpos.o checks.o util.o | 8 | srcpos.o checks.o util.o |
| @@ -23,7 +23,7 @@ $(objtree)/$(obj)/randomize_layout_seed.h: FORCE · 22 unmodified lines | |||
| 23 | targets = randomize_layout_seed.h randomize_layout_hash.h | 23 | targets = randomize_layout_seed.h randomize_layout_hash.h |
| 24 | 24 | ||
| 25 | $(HOSTLIBS)-y := $(foreach p,$(GCC_PLUGIN),$(if $(findstring /,$(p)),,$(p))) | 25 | $(HOSTLIBS)-y := $(foreach p,$(GCC_PLUGIN),$(if $(findstring /,$(p)),,$(p))) |
| 26 | always := $($(HOSTLIBS)-y) | 26 | always-y := $($(HOSTLIBS)-y) |
| 27 | 27 | ||
| 28 | $(foreach p,$($(HOSTLIBS)-y:%.so=%),$(eval $(p)-objs := $(p).o)) | 28 | $(foreach p,$($(HOSTLIBS)-y:%.so=%),$(eval $(p)-objs := $(p).o)) |
| 29 | 29 | ||
| @@ -1,7 +1,7 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | ||
| 3 | hostprogs-y := genksyms | 3 | hostprogs := genksyms |
| 4 | always := $(hostprogs-y) | 4 | always-y := $(hostprogs) |
| 5 | 5 | ||
| 6 | genksyms-objs := genksyms.o parse.tab.o lex.lex.o | 6 | genksyms-objs := genksyms.o parse.tab.o lex.lex.o |
| 7 | 7 | ||
| @@ -157,11 +157,11 @@ HOSTCFLAGS_lexer.lex.o := -I $(srctree)/$(src) · 156 unmodified lines | |||
| 157 | HOSTCFLAGS_parser.tab.o := -I $(srctree)/$(src) | 157 | HOSTCFLAGS_parser.tab.o := -I $(srctree)/$(src) |
| 158 | 158 | ||
| 159 | # conf: Used for defconfig, oldconfig and related targets | 159 | # conf: Used for defconfig, oldconfig and related targets |
| 160 | hostprogs-y += conf | 160 | hostprogs += conf |
| 161 | conf-objs := conf.o $(common-objs) | 161 | conf-objs := conf.o $(common-objs) |
| 162 | 162 | ||
| 163 | # nconf: Used for the nconfig target based on ncurses | 163 | # nconf: Used for the nconfig target based on ncurses |
| 164 | hostprogs-y += nconf | 164 | hostprogs += nconf |
| 165 | nconf-objs := nconf.o nconf.gui.o $(common-objs) | 165 | nconf-objs := nconf.o nconf.gui.o $(common-objs) |
| 166 | 166 | ||
| 167 | HOSTLDLIBS_nconf = $(shell . $(obj)/nconf-cfg && echo $$libs) | 167 | HOSTLDLIBS_nconf = $(shell . $(obj)/nconf-cfg && echo $$libs) |
| @@ -171,7 +171,7 @@ HOSTCFLAGS_nconf.gui.o = $(shell . $(obj)/nconf-cfg && echo $$cflags) · 3 unmodified lines | |||
| 171 | $(obj)/nconf.o $(obj)/nconf.gui.o: $(obj)/nconf-cfg | 171 | $(obj)/nconf.o $(obj)/nconf.gui.o: $(obj)/nconf-cfg |
| 172 | 172 | ||
| 173 | # mconf: Used for the menuconfig target based on lxdialog | 173 | # mconf: Used for the menuconfig target based on lxdialog |
| 174 | hostprogs-y += mconf | 174 | hostprogs += mconf |
| 175 | lxdialog := $(addprefix lxdialog/, \ | 175 | lxdialog := $(addprefix lxdialog/, \ |
| 176 | checklist.o inputbox.o menubox.o textbox.o util.o yesno.o) | 176 | checklist.o inputbox.o menubox.o textbox.o util.o yesno.o) |
| 177 | mconf-objs := mconf.o $(lxdialog) $(common-objs) | 177 | mconf-objs := mconf.o $(lxdialog) $(common-objs) |
| @@ -183,7 +183,7 @@ $(foreach f, mconf.o $(lxdialog), \ · 5 unmodified lines | |||
| 183 | $(addprefix $(obj)/, mconf.o $(lxdialog)): $(obj)/mconf-cfg | 183 | $(addprefix $(obj)/, mconf.o $(lxdialog)): $(obj)/mconf-cfg |
| 184 | 184 | ||
| 185 | # qconf: Used for the xconfig target based on Qt | 185 | # qconf: Used for the xconfig target based on Qt |
| 186 | hostprogs-y += qconf | 186 | hostprogs += qconf |
| 187 | qconf-cxxobjs := qconf.o | 187 | qconf-cxxobjs := qconf.o |
| 188 | qconf-objs := images.o $(common-objs) | 188 | qconf-objs := images.o $(common-objs) |
| 189 | 189 | ||
| @@ -199,7 +199,7 @@ $(obj)/%.moc: $(src)/%.h $(obj)/qconf-cfg · 9 unmodified lines | |||
| 199 | $(call cmd,moc) | 199 | $(call cmd,moc) |
| 200 | 200 | ||
| 201 | # gconf: Used for the gconfig target based on GTK+ | 201 | # gconf: Used for the gconfig target based on GTK+ |
| 202 | hostprogs-y += gconf | 202 | hostprogs += gconf |
| 203 | gconf-objs := gconf.o images.o $(common-objs) | 203 | gconf-objs := gconf.o images.o $(common-objs) |
| 204 | 204 | ||
| 205 | HOSTLDLIBS_gconf = $(shell . $(obj)/gconf-cfg && echo $$libs) | 205 | HOSTLDLIBS_gconf = $(shell . $(obj)/gconf-cfg && echo $$libs) |
| @@ -1,8 +1,8 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | OBJECT_FILES_NON_STANDARD := y | 2 | OBJECT_FILES_NON_STANDARD := y |
| 3 | 3 | ||
| 4 | hostprogs-y := modpost mk_elfconfig | 4 | hostprogs := modpost mk_elfconfig |
| 5 | always := $(hostprogs-y) empty.o | 5 | always-y := $(hostprogs) empty.o |
| 6 | 6 | ||
| 7 | modpost-objs := modpost.o file2alias.o sumversion.o | 7 | modpost-objs := modpost.o file2alias.o sumversion.o |
| 8 | 8 | ||
| @@ -1,7 +1,7 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | hostprogs-y := genheaders | 2 | hostprogs := genheaders |
| 3 | HOST_EXTRACFLAGS += \ | 3 | HOST_EXTRACFLAGS += \ |
| 4 | -I$(srctree)/include/uapi -I$(srctree)/include \ | 4 | -I$(srctree)/include/uapi -I$(srctree)/include \ |
| 5 | -I$(srctree)/security/selinux/include | 5 | -I$(srctree)/security/selinux/include |
| 6 | 6 | ||
| 7 | always := $(hostprogs-y) | 7 | always-y := $(hostprogs) |
| @@ -1,8 +1,8 @@ | |||
| 1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | hostprogs-y := mdp | 2 | hostprogs := mdp |
| 3 | HOST_EXTRACFLAGS += \ | 3 | HOST_EXTRACFLAGS += \ |
| 4 | -I$(srctree)/include/uapi -I$(srctree)/include \ | 4 | -I$(srctree)/include/uapi -I$(srctree)/include \ |
| 5 | -I$(srctree)/security/selinux/include -I$(objtree)/include | 5 | -I$(srctree)/security/selinux/include -I$(objtree)/include |
| 6 | 6 | ||
| 7 | always := $(hostprogs-y) | 7 | always-y := $(hostprogs) |
| 8 | clean-files := policy.* file_contexts | 8 | clean-files := policy.* file_contexts |
| @@ -52,7 +52,7 @@ ifeq ($(cpio-data),) · 51 unmodified lines | |||
| 52 | 52 | ||
| 53 | cpio-data := $(obj)/initramfs_data.cpio | 53 | cpio-data := $(obj)/initramfs_data.cpio |
| 54 | 54 | ||
| 55 | hostprogs-y := gen_init_cpio | 55 | hostprogs := gen_init_cpio |
| 56 | 56 | ||
| 57 | # .initramfs_data.cpio.d is used to identify all files included | 57 | # .initramfs_data.cpio.d is used to identify all files included |
| 58 | # in initramfs and to detect if any files are added/removed. | 58 | # in initramfs and to detect if any files are added/removed. |