Skip to content
Snippets Groups Projects
Select Git revision
2 results Searching

Kbuild

Blame
    • Masahiro Yamada's avatar
      5f2fb52f
      kbuild: rename hostprogs-y/always to hostprogs/always-y · 5f2fb52f
      Masahiro Yamada authored
      
      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.
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      5f2fb52f
      History
      kbuild: rename hostprogs-y/always to hostprogs/always-y
      Masahiro Yamada authored
      
      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.
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Kbuild 1.30 KiB
    # SPDX-License-Identifier: GPL-2.0
    #
    # Kbuild for top-level directory of the kernel
    
    #####
    # Generate bounds.h
    
    bounds-file := include/generated/bounds.h
    
    always-y := $(bounds-file)
    targets := kernel/bounds.s
    
    $(bounds-file): kernel/bounds.s FORCE
    	$(call filechk,offsets,__LINUX_BOUNDS_H__)
    
    #####
    # Generate timeconst.h
    
    timeconst-file := include/generated/timeconst.h
    
    filechk_gentimeconst = echo $(CONFIG_HZ) | bc -q $<
    
    $(timeconst-file): kernel/time/timeconst.bc FORCE
    	$(call filechk,gentimeconst)
    
    #####
    # Generate asm-offsets.h
    
    offsets-file := include/generated/asm-offsets.h
    
    always-y += $(offsets-file)
    targets += arch/$(SRCARCH)/kernel/asm-offsets.s
    
    arch/$(SRCARCH)/kernel/asm-offsets.s: $(timeconst-file) $(bounds-file)
    
    $(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s FORCE
    	$(call filechk,offsets,__ASM_OFFSETS_H__)
    
    #####
    # Check for missing system calls
    
    always-y += missing-syscalls
    
    quiet_cmd_syscalls = CALL    $<
          cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags)
    
    missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE
    	$(call cmd,syscalls)
    
    #####
    # Check atomic headers are up-to-date
    
    always-y += old-atomics
    
    quiet_cmd_atomics = CALL    $<
          cmd_atomics = $(CONFIG_SHELL) $<
    
    old-atomics: scripts/atomic/check-atomics.sh FORCE
    	$(call cmd,atomics)