author | alanb |
Mon, 03 Nov 2014 15:33:11 +0000 | |
changeset 27339 | 2cf6bc8c2d2c |
parent 6757 | b50903cdd0b0 |
child 37132 | 008db2089808 |
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 |
} |
6757 | 18 |
fix_lines $2/$1 $3/$1 |
19 |
[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \ |
|
1662
76a93a5fb765
6771309: debugging AD files is difficult without #line directives in generated code
jrose
parents:
338
diff
changeset
|
20 |
( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) |