mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 08:57:58 +00:00
c6fb83d217
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
41 lines
759 B
Awk
Executable file
41 lines
759 B
Awk
Executable file
#!/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 "}"
|
|
}
|