diff options
author | Wolfgang Denk <wd@denx.de> | 2008-04-08 00:06:47 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-04-08 00:06:47 +0200 |
commit | 34e6cb8d1d9dc8194b2d8cad1cc39273ac58f8d8 (patch) | |
tree | b771597b2864542865bfad1e56ecaf4f5641acf9 /cpu/blackfin/bootrom-asm-offsets.awk | |
parent | 62479b181460f5bf99517b68059d5ba87908edd3 (diff) | |
parent | d5bffeb868d6b4d462f558dac43011027b6644b7 (diff) | |
download | u-boot-imx-34e6cb8d1d9dc8194b2d8cad1cc39273ac58f8d8.zip u-boot-imx-34e6cb8d1d9dc8194b2d8cad1cc39273ac58f8d8.tar.gz u-boot-imx-34e6cb8d1d9dc8194b2d8cad1cc39273ac58f8d8.tar.bz2 |
Merge branch 'master' of git://www.denx.de/git/u-boot-blackfin
Diffstat (limited to 'cpu/blackfin/bootrom-asm-offsets.awk')
-rwxr-xr-x | cpu/blackfin/bootrom-asm-offsets.awk | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cpu/blackfin/bootrom-asm-offsets.awk b/cpu/blackfin/bootrom-asm-offsets.awk new file mode 100755 index 0000000..1d61824 --- /dev/null +++ b/cpu/blackfin/bootrom-asm-offsets.awk @@ -0,0 +1,41 @@ +#!/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 "}" +} |