URL
https://opencores.org/ocsvn/test_project/test_project/trunk
Subversion Repositories test_project
[/] [test_project/] [trunk/] [linux_sd_driver/] [scripts/] [mkcompile_h] - Rev 62
Compare with Previous | Blame | View Log
TARGET=$1ARCH=$2SMP=$3PREEMPT=$4CC=$5# 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 ]; thenecho " SKIPPED $TARGET"exit 0fi# Do not expand namesset -f# Fix the language to get consistent outputLC_ALL=Cexport LC_ALLif [ -z "$KBUILD_BUILD_VERSION" ]; thenif [ -r .version ]; thenVERSION=`cat .version`elseVERSION=0echo 0 > .versionfielseVERSION=$KBUILD_BUILD_VERSIONfiif [ -z "$KBUILD_BUILD_TIMESTAMP" ]; thenTIMESTAMP=`date`elseTIMESTAMP=$KBUILD_BUILD_TIMESTAMPfiUTS_VERSION="#$VERSION"CONFIG_FLAGS=""if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fiif [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fiUTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"# Truncate to maximum lengthUTS_LEN=64UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/"# Generate a temporary compile.h( echo /\* This file is auto generated, version $VERSION \*/if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fiecho \#define UTS_MACHINE \"$ARCH\"echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"echo \#define LINUX_COMPILE_TIME \"`date +%T`\"echo \#define LINUX_COMPILE_BY \"`whoami`\"echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"if [ -x /bin/dnsdomainname ]; thenecho \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\"elif [ -x /bin/domainname ]; thenecho \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\"elseecho \#define LINUX_COMPILE_DOMAINfiecho \#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; thenrm -f .tmpcompileelseecho " UPD $TARGET"mv -f .tmpcompile $TARGETfirm -f .tmpver.1 .tmpver.2
