u-boot/cpu/blackfin/bootrom-asm-offsets.awk

42 lines
759 B
Awk
Raw Normal View History

#!/usr/bin/gawk -f
BEGIN {
print "/* DO NOT EDIT: AUTOMATICALLY GENERATED"
print " * Input files: bootrom-asm-offsets.awk bootrom-asm-offsets.c.in"
print " * DO NOT EDIT: AUTOMATICALLY GENERATED"
print " */"
print ""
system("cat bootrom-asm-offsets.c.in")
print "{"
}
{
/* find a structure definition */
if ($0 ~ /typedef struct .* {/) {
delete members;
i = 0;
/* extract each member of the structure */
while (1) {
getline
if ($1 == "}")
break;
gsub(/[*;]/, "");
members[i++] = $NF;
}
/* grab the structure's name */
struct = $NF;
sub(/;$/, "", struct);
/* output the DEFINE() macros */
while (i-- > 0)
print "\tDEFINE(" struct ", " members[i] ");"
print ""
}
}
END {
print "\treturn 0;"
print "}"
}