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:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; \ 12 /^->/{s:->#\(.*\):/* \1 */:; \ 13 s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ 14 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ 15 s:->::; p;}' 16endef 17 18define make_asm_offsets 19 (set -e; \ 20 echo "#ifndef __ASM_OFFSETS_H__"; \ 21 echo "#define __ASM_OFFSETS_H__"; \ 22 echo "/*"; \ 23 echo " * Generated file. DO NOT MODIFY."; \ 24 echo " *"; \ 25 echo " */"; \ 26 echo ""; \ 27 sed -ne $(sed-y) $<; \ 28 echo ""; \ 29 echo "#endif" ) > $@ 30endef 31 32$(asm-offsets:.h=.s): $(asm-offsets:.h=.c) 33 $(CC) $(CFLAGS) -fverbose-asm -S -o $@ $< 34 35$(asm-offsets): $(asm-offsets:.h=.s) 36 $(call make_asm_offsets) 37 cp -f $(asm-offsets) lib/generated/ 38 39OBJDIRS += lib/generated 40 41asm_offsets_clean: 42 $(RM) $(asm-offsets) $(asm-offsets:.h=.s) \ 43 $(addprefix lib/generated/,$(notdir $(asm-offsets))) 44 45