author | jjg |
Wed, 12 Aug 2009 10:34:13 -0700 | |
changeset 3656 | d4e34b76b0c3 |
parent 1662 | 76a93a5fb765 |
child 6757 | b50903cdd0b0 |
permissions | -rw-r--r-- |
1 | 1 |
#! /bin/sh |
2 |
# |
|
3 |
# This file is used by adlc.make to selectively update generated |
|
4 |
# adlc files. Because source and target diretories are relative |
|
5 |
# paths, this file is copied to the target build directory before |
|
6 |
# use. |
|
7 |
# |
|
8 |
# adlc-updater <file> <source-dir> <target-dir> |
|
9 |
# |
|
1662
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
10 |
fix_lines() { |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
11 |
# repair bare #line directives in $1 to refer to $2 |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
12 |
awk < $1 > $1+ ' |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
13 |
/^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next} |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
14 |
{print} |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
15 |
' F2=$2 |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
16 |
mv $1+ $1 |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
17 |
} |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
18 |
[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \ |
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
19 |
( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) |