|
|
0efa8c |
#!/bin/sh
|
|
|
0efa8c |
|
|
|
0efa8c |
usage()
|
|
|
0efa8c |
{
|
|
|
0efa8c |
cat << EOF >&2
|
|
|
0efa8c |
|
|
|
0efa8c |
Usage:
|
|
|
0efa8c |
-h show this HELP message
|
|
|
0efa8c |
-s SRCDIR set source directory
|
|
|
0efa8c |
-o OUTPUT set output header
|
|
|
0efa8c |
-p PREFIX set macro prefix
|
|
|
0efa8c |
|
|
|
0efa8c |
EOF
|
|
|
0efa8c |
exit 1
|
|
|
0efa8c |
}
|
|
|
0efa8c |
|
|
|
0efa8c |
|
|
|
0efa8c |
# one
|
|
|
0efa8c |
workdir=$(pwd)
|
|
|
0efa8c |
srcdir=
|
|
|
0efa8c |
output=
|
|
|
0efa8c |
prefix=
|
|
|
0efa8c |
|
|
|
0efa8c |
|
|
|
0efa8c |
while getopts "hs:o:p:" opt; do
|
|
|
0efa8c |
case $opt in
|
|
|
0efa8c |
h)
|
|
|
0efa8c |
usage
|
|
|
0efa8c |
|
|
|
0efa8c |
s)
|
|
|
0efa8c |
srcdir="$OPTARG"
|
|
|
0efa8c |
|
|
|
0efa8c |
o)
|
|
|
0efa8c |
output="$OPTARG"
|
|
|
0efa8c |
|
|
|
0efa8c |
p)
|
|
|
0efa8c |
prefix="$OPTARG"
|
|
|
0efa8c |
|
|
|
0efa8c |
\?)
|
|
|
0efa8c |
printf "Invalid option: -%s" "$OPTARG" >&2
|
|
|
0efa8c |
usage
|
|
|
0efa8c |
|
|
|
0efa8c |
esac
|
|
|
0efa8c |
done
|
|
|
0efa8c |
|
|
|
0efa8c |
|
|
|
0efa8c |
# two
|
|
|
0efa8c |
if [ -z "$srcdir" ] || [ -z "$output" ] || [ -z "$prefix" ]; then
|
|
|
0efa8c |
usage
|
|
|
0efa8c |
fi
|
|
|
0efa8c |
|
|
|
0efa8c |
cd "$srcdir" || exit 2
|
|
|
0efa8c |
|
|
|
0efa8c |
gitver=`git rev-parse --verify HEAD 2>/dev/null` || gitver="unknown"
|
|
|
0efa8c |
macro=`echo "$prefix"_GIT_VERSION | tr '[:lower:]' '[:upper:]'`
|
|
|
0efa8c |
|
|
|
0efa8c |
cd "$workdir" || exit 2
|
|
|
c832fd |
mkdir -p `dirname "$output"` || exit 2
|
|
|
0efa8c |
printf "#define $macro\t\"$gitver\"\n" > "$output"
|
|
|
0efa8c |
|
|
|
0efa8c |
# all done
|
|
|
0efa8c |
exit 0
|