Skip to content
Snippets Groups Projects
Select Git revision
  • f1f0f330b1d0ac1bcc38d7c84d439f4fde341a9c
  • master default
  • b4/phy-realtek-clock-fix
  • b4/rk3576-rock4d-phy-timings
  • b4/dw-wdt-fix-initial-timeout
  • radxa-v6.1-vendor-kernel
  • b4/fusb302-race-condition-fix
  • b4/rk3576-rock4d-phy-handling-fixes
  • b4/rk3588-evb1-hdmi-rx
  • b4/rk3576-fix-fspi-pmdomain
  • b4/usbc-for-rock5bp
  • b4/rock5bp-for-upstream
  • rockchip-devel
  • rk3588-test
  • rk3588-test-vendor-cam
  • lf-6.6.y_6.6.23-2.0.0_var01-panfrost
  • rk3588-linked-clk-gate-for-upstream
  • rk3588-gpu-pwr-domain-for-upstream
  • rk3588-rock5b-usbc-for-upstream
  • rk3588-evb1-for-upstream
  • imx95-upstream-with-vendor-display-stack
  • v5.17
  • v5.17-rc8
  • v5.17-rc7
  • v5.17-rc6
  • v5.17-rc5
  • v5.17-rc4
  • v5.17-rc3
  • v5.17-rc2
  • v5.17-rc1
  • v5.16
  • v5.16-rc8
  • v5.16-rc7
  • v5.16-rc6
  • v5.16-rc5
  • v5.16-rc4
  • v5.16-rc3
  • v5.16-rc2
  • v5.16-rc1
  • v5.15
  • v5.15-rc7
41 results

mkcompile_h

Blame
  • mkcompile_h 2.48 KiB
    #!/bin/sh
    # SPDX-License-Identifier: GPL-2.0
    
    TARGET=$1
    ARCH=$2
    SMP=$3
    PREEMPT=$4
    CC=$5
    
    vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; }
    
    # If compile.h exists already and we don't own autoconf.h
    # (i.e. we're not the same user who did make *config), don't
    # modify compile.h
    # So "sudo make install" won't change the "compiled by <user>"
    # do "compiled by root"
    
    if [ -r $TARGET -a ! -O include/generated/autoconf.h ]; then
      vecho "  SKIPPED $TARGET"
      exit 0
    fi
    
    # Do not expand names
    set -f
    
    # Fix the language to get consistent output
    LC_ALL=C
    export LC_ALL
    
    if [ -z "$KBUILD_BUILD_VERSION" ]; then
    	VERSION=$(cat .version 2>/dev/null || echo 1)
    else
    	VERSION=$KBUILD_BUILD_VERSION
    fi
    
    if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
    	TIMESTAMP=`date`
    else
    	TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
    fi
    if test -z "$KBUILD_BUILD_USER"; then
    	LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/')
    else
    	LINUX_COMPILE_BY=$KBUILD_BUILD_USER
    fi
    if test -z "$KBUILD_BUILD_HOST"; then
    	LINUX_COMPILE_HOST=`hostname`
    else
    	LINUX_COMPILE_HOST=$KBUILD_BUILD_HOST
    fi
    
    UTS_VERSION="#$VERSION"
    CONFIG_FLAGS=""
    if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fi
    if [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fi
    UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"
    
    # Truncate to maximum length
    
    UTS_LEN=64
    UTS_TRUNCATE="cut -b -$UTS_LEN"
    
    # Generate a temporary compile.h
    
    ( echo /\* This file is auto generated, version $VERSION \*/
      if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi
    
      echo \#define UTS_MACHINE \"$ARCH\"
    
      echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
    
      echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
      echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
    
      echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | grep ' version ' | sed 's/[[:space:]]*$//'`\"
    ) > .tmpcompile
    
    # Only replace the real compile.h if the new one is different,
    # in order to preserve the timestamp and avoid unnecessary
    # recompilations.
    # We don't consider the file changed if only the date/time changed.
    # A kernel config change will increase the generation number, thus
    # causing compile.h to be updated (including date/time) due to the
    # changed comment in the
    # first line.
    
    if [ -r $TARGET ] && \
          grep -v 'UTS_VERSION' $TARGET > .tmpver.1 && \
          grep -v 'UTS_VERSION' .tmpcompile > .tmpver.2 && \
          cmp -s .tmpver.1 .tmpver.2; then
       rm -f .tmpcompile
    else
       vecho "  UPD     $TARGET"
       mv -f .tmpcompile $TARGET
    fi
    rm -f .tmpver.1 .tmpver.2