Blame sysinfo/version.sh

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