summaryrefslogtreecommitdiff
path: root/tools/scripts/make-asm-offsets
blob: 4c33756d66e6d637dffe817c6fc1b59099eea6c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

# Adapted from Linux kernel's "Kbuild":
# commit 1cdf25d704f7951d02a04064c97db547d6021872
# Author: Christoph Lameter <clameter@sgi.com>

mkdir -p $(dirname $2)

# Default sed regexp - multiline due to syntax constraints
SED_CMD="/^->/{s:->#\(.*\):/* \1 */:; \
	s:^->\([^ ]*\) [\$#]*\([-0-9]*\) \(.*\):#define \1 (\2) /* \3 */:; \
	s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
	s:->::; p;}"

(set -e
 echo "#ifndef __ASM_OFFSETS_H__"
 echo "#define __ASM_OFFSETS_H__"
 echo "/*"
 echo " * DO NOT MODIFY."
 echo " *"
 echo " * This file was generated by $(basename $0)"
 echo " *"
 echo " */"
 echo ""
 sed -ne "${SED_CMD}" $1 
 echo ""
 echo "#endif" ) > $2