1*fb3ef04dSDag-Erling Smørgrav#!/bin/sh 2*fb3ef04dSDag-Erling Smørgrav 3*fb3ef04dSDag-Erling Smørgravif [ ! -f version.sh ] && [ ! -d .git ] 4*fb3ef04dSDag-Erling Smørgravthen 5*fb3ef04dSDag-Erling Smørgrav echo Your copy of unifdef is incomplete 1>&2 6*fb3ef04dSDag-Erling Smørgrav exit 1 7*fb3ef04dSDag-Erling Smørgravfi 8*fb3ef04dSDag-Erling Smørgrav 9*fb3ef04dSDag-Erling Smørgrav[ -f version.sh ] && . ./version.sh 10*fb3ef04dSDag-Erling Smørgrav 11*fb3ef04dSDag-Erling Smørgravif [ -d .git ] 12*fb3ef04dSDag-Erling Smørgravthen 13*fb3ef04dSDag-Erling Smørgrav GV=$(git describe | sed 's|-g*|.|g;s|[.]|-|') 14*fb3ef04dSDag-Erling Smørgrav git update-index -q --refresh 15*fb3ef04dSDag-Erling Smørgrav if git diff-index --quiet HEAD 16*fb3ef04dSDag-Erling Smørgrav then 17*fb3ef04dSDag-Erling Smørgrav GD="$(git show --pretty=format:%ai -s HEAD)" 18*fb3ef04dSDag-Erling Smørgrav else 19*fb3ef04dSDag-Erling Smørgrav GD="$(date +'%Y-%m-%d %H:%M:%S %z')" 20*fb3ef04dSDag-Erling Smørgrav GV=$GV.XX 21*fb3ef04dSDag-Erling Smørgrav fi 22*fb3ef04dSDag-Erling Smørgrav [ unifdef -nt unifdef.c ] && 23*fb3ef04dSDag-Erling Smørgrav [ unifdef -nt unifdef.h ] && 24*fb3ef04dSDag-Erling Smørgrav GD="$D" 25*fb3ef04dSDag-Erling Smørgrav if [ "$GV $GD" != "$V $D" ] 26*fb3ef04dSDag-Erling Smørgrav then 27*fb3ef04dSDag-Erling Smørgrav echo "version $V $D" 1>&2 28*fb3ef04dSDag-Erling Smørgrav echo " -> $GV $GD" 1>&2 29*fb3ef04dSDag-Erling Smørgrav V="$GV" 30*fb3ef04dSDag-Erling Smørgrav D="$GD" 31*fb3ef04dSDag-Erling Smørgrav echo "V=\"$V\"" >version.sh 32*fb3ef04dSDag-Erling Smørgrav echo "D=\"$D\"" >>version.sh 33*fb3ef04dSDag-Erling Smørgrav rm -f version.h 34*fb3ef04dSDag-Erling Smørgrav fi 35*fb3ef04dSDag-Erling Smørgravfi 36*fb3ef04dSDag-Erling Smørgrav 37*fb3ef04dSDag-Erling Smørgravif [ ! -f version.h ] 38*fb3ef04dSDag-Erling Smørgravthen 39*fb3ef04dSDag-Erling Smørgrav printf '"@(#) $Version: %s $\\n"\n' "$V" >version.h 40*fb3ef04dSDag-Erling Smørgrav printf '"@(#) $Date: %s $\\n"\n' "$D" >>version.h 41*fb3ef04dSDag-Erling Smørgravfi 42