1# 2# asm-offsets adapted from the kernel, see 3# Kbuild 4# scripts/Kbuild.include 5# scripts/Makefile.build 6# 7# Authors: Andrew Jones <drjones@redhat.com> 8# 9 10define sed-y 11 "/^->/{s:->#\(.*\):/* \1 */:; \ 12 s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ 13 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ 14 s:->::; p;}" 15endef 16 17define make_asm_offsets 18 (set -e; \ 19 echo "#ifndef __ASM_OFFSETS_H__"; \ 20 echo "#define __ASM_OFFSETS_H__"; \ 21 echo "/*"; \ 22 echo " * Generated file. DO NOT MODIFY."; \ 23 echo " *"; \ 24 echo " */"; \ 25 echo ""; \ 26 sed -ne $(sed-y) $<; \ 27 echo ""; \ 28 echo "#endif" ) > $@ 29endef 30 31$(asm-offsets:.h=.s): $(asm-offsets:.h=.c) 32 $(CC) $(CFLAGS) -fverbose-asm -S -o $@ $< 33 34$(asm-offsets): $(asm-offsets:.h=.s) 35 $(call make_asm_offsets) 36 cp -f $(asm-offsets) lib/generated 37 38asm_offsets_clean: 39 $(RM) $(asm-offsets) $(asm-offsets:.h=.s) \ 40 $(addprefix lib/generated/,$(notdir $(asm-offsets))) 41 42