Linus TorvaldsLinux-2.6.12-rc21da177e21 years agoHistory
78 lines · 2.1 KB · Text
RawDownload
TARGET=$1ARCH=$2SMP=$3CC=$4 # 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/linux/autoconf.h ]; then  echo "  SKIPPED $TARGET"  exit 0fi # Do not expand namesset -f if [ -r .version ]; then  VERSION=`cat .version`else  VERSION=0  echo 0 > .versionfi  UTS_VERSION="#$VERSION"if [ -n "$SMP" ] ; then UTS_VERSION="$UTS_VERSION SMP"; fiUTS_VERSION="$UTS_VERSION `LC_ALL=C LANG=C date`" # Truncate to maximum length UTS_LEN=64UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/" # Generate a temporary compile.h ( echo /\* This file is auto generated, version $VERSION \*/   echo \#define UTS_MACHINE \"$ARCH\"   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"   echo \#define LINUX_COMPILE_TIME \"`LC_ALL=C LANG=C date +%T`\"  echo \#define LINUX_COMPILE_BY \"`whoami`\"  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"   if [ -x /bin/dnsdomainname ]; then    echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\"  elif [ -x /bin/domainname ]; then    echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\"  else    echo \#define LINUX_COMPILE_DOMAIN  fi   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\") > .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\|LINUX_COMPILE_TIME' $TARGET > .tmpver.1 && \      grep -v 'UTS_VERSION\|LINUX_COMPILE_TIME' .tmpcompile > .tmpver.2 && \      cmp -s .tmpver.1 .tmpver.2; then   rm -f .tmpcompileelse   echo "  UPD     $TARGET"   mv -f .tmpcompile $TARGETfirm -f .tmpver.1 .tmpver.2