summaryrefslogtreecommitdiff
path: root/cpu/blackfin/bootrom-asm-offsets.awk
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-04-08 00:06:47 +0200
committerWolfgang Denk <wd@denx.de>2008-04-08 00:06:47 +0200
commit34e6cb8d1d9dc8194b2d8cad1cc39273ac58f8d8 (patch)
treeb771597b2864542865bfad1e56ecaf4f5641acf9 /cpu/blackfin/bootrom-asm-offsets.awk
parent62479b181460f5bf99517b68059d5ba87908edd3 (diff)
parentd5bffeb868d6b4d462f558dac43011027b6644b7 (diff)
downloadu-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-xcpu/blackfin/bootrom-asm-offsets.awk41
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 "}"
+}