• Masahiro Yamada's avatar
    kbuild: suppress annoying "... is up to date." message · 2aedcd09
    Masahiro Yamada authored
    Under certain conditions, Kbuild shows "... is up to date" where
    if_changed or friends are used.
    
    For example, the incremental build of ARM64 Linux shows this message
    when the kernel image has not been updated.
    
      $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
        CHK     include/config/kernel.release
        CHK     include/generated/uapi/linux/version.h
        CHK     include/generated/utsrelease.h
        CHK     include/generated/bounds.h
        CHK     include/generated/timeconst.h
        CHK     include/generated/asm-offsets.h
        CALL    scripts/checksyscalls.sh
        CHK     include/generated/compile.h
        CHK     kernel/config_data.h
      make[1]: `arch/arm64/boot/Image.gz' is up to date.
        Building modules, stage 2.
        MODPOST 0 modules
    
    The following is the build rule in arch/arm64/boot/Makefile:
    
      $(obj)/Image.gz: $(obj)/Image FORCE
              $(call if_changed,gzip)
    
    If the Image.gz is newer than the Image and the command line has not
    changed (i.e., $(any-prereq) and $(arg-check) are both empty), the
    build rule $(call if_changed,gzip) is evaluated to be empty, then
    GNU Make reports the target is up to date.  In order to make GNU Make
    quiet, we need to give it something to do, for example, "@:".  This
    should be fixed in the Kbuild core part rather than in each Makefile.
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
    2aedcd09
Kbuild.include 13.1 KB