772f75b3fb
Summary: We continually rebuilt build_version.c because we put the current date into it, but that's what __DATE__ already is. This makes builds faster. This also fixes an issue with 'make clean FOO' not working properly. Also tweak the build rules to be more consistent, always have warnings, and add a 'make release' rule to handle flags for release builds. Test Plan: make, make clean Reviewers: dhruba Reviewed By: dhruba Differential Revision: https://reviews.facebook.net/D8139
30 lines
1.1 KiB
Bash
Executable File
30 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Record the version of the source that we are compiling.
|
|
# We keep a record of the git revision in util/version.cc. This source file
|
|
# is then built as a regular source file as part of the compilation process.
|
|
# One can run "strings executable_filename | grep _build_" to find the version of
|
|
# the source that we used to build the executable file.
|
|
#
|
|
|
|
# create git version file
|
|
VFILE=$(mktemp)
|
|
trap "rm $VFILE" EXIT
|
|
|
|
# check to see if git is in the path
|
|
which git > /dev/null
|
|
|
|
if [ "$?" = 0 ]; then
|
|
env -i git rev-parse HEAD | awk ' BEGIN {print "#include \"build_version.h\""} {print "const char * leveldb_build_git_sha = \"leveldb_build_git_sha:" $0"\";"} END {}' > ${VFILE}
|
|
else
|
|
echo "git not found"| awk ' BEGIN {print "#include \"build_version.h\""} {print "const char * leveldb_build_git_sha = \"leveldb_build_git_sha:git not found\";"} END {}' > ${VFILE}
|
|
fi
|
|
|
|
echo "const char * leveldb_build_compile_date = __DATE__;" >> ${VFILE}
|
|
echo "const char * leveldb_build_compile_time = __TIME__;" >> ${VFILE}
|
|
|
|
OUTFILE=util/build_version.cc
|
|
if [ ! -e $OUTFILE ] || ! cmp -s $VFILE $OUTFILE; then
|
|
cp $VFILE $OUTFILE
|
|
fi
|