duke@435: #! /bin/sh duke@435: # duke@435: # This file is used by adlc.make to selectively update generated duke@435: # adlc files. Because source and target diretories are relative duke@435: # paths, this file is copied to the target build directory before duke@435: # use. duke@435: # duke@435: # adlc-updater duke@435: # jrose@910: fix_lines() { jrose@910: # repair bare #line directives in $1 to refer to $2 jrose@910: awk < $1 > $1+ ' jrose@910: /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next} jrose@910: {print} jrose@910: ' F2=$2 jrose@910: mv $1+ $1 jrose@910: } never@2186: fix_lines $2/$1 $3/$1 never@2186: [ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \ jrose@910: ( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )