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