aboutsummaryrefslogtreecommitdiffstats
path: root/roms/seabios/scripts/gen-offsets.sh
diff options
context:
space:
mode:
Diffstat (limited to 'roms/seabios/scripts/gen-offsets.sh')
-rwxr-xr-xroms/seabios/scripts/gen-offsets.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/roms/seabios/scripts/gen-offsets.sh b/roms/seabios/scripts/gen-offsets.sh
new file mode 100755
index 000000000..73dede82b
--- /dev/null
+++ b/roms/seabios/scripts/gen-offsets.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Extract definitions from an assembler file. This is based on code
+# from the Linux Kernel.
+INFILE=$1
+OUTFILE=$2
+cat > "$OUTFILE" <<EOF
+// This is an auto-generated file. DO NOT EDIT!
+// Generated with "$0 $@"
+#ifndef __ASM_OFFSETS_H
+#define __ASM_OFFSETS_H
+EOF
+sed -ne "/^->/{s:->#\(.*\):/* \1 */:; \
+ s:^->\([^ ]*\) [\$\#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
+ s:->::; p;}" < "$INFILE" >> "$OUTFILE"
+cat >> "$OUTFILE" <<EOF
+#endif // asm-offsets.h
+EOF