| # |
| # asm-offsets adapted from the kernel, see |
| # Kbuild |
| # scripts/Kbuild.include |
| # scripts/Makefile.build |
| # |
| # Authors: Andrew Jones <drjones@redhat.com> |
| # |
| |
| define sed-y |
| 's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; \ |
| /^->/{s:->#\(.*\):/* \1 */:; \ |
| s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \ |
| s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ |
| s:->::; p;}' |
| endef |
| |
| define make_asm_offsets |
| (set -e; \ |
| echo "#ifndef __ASM_OFFSETS_H__"; \ |
| echo "#define __ASM_OFFSETS_H__"; \ |
| echo "/*"; \ |
| echo " * Generated file. DO NOT MODIFY."; \ |
| echo " *"; \ |
| echo " */"; \ |
| echo ""; \ |
| sed -ne $(sed-y) $<; \ |
| echo ""; \ |
| echo "#endif" ) > $@ |
| endef |
| |
| $(asm-offsets:.h=.s): $(asm-offsets:.h=.c) |
| $(CC) $(CFLAGS) -fverbose-asm -S -o $@ $< |
| |
| $(asm-offsets): $(asm-offsets:.h=.s) |
| $(call make_asm_offsets) |
| cp -f $(asm-offsets) lib/generated/ |
| |
| OBJDIRS += lib/generated |
| |
| asm_offsets_clean: |
| $(RM) $(asm-offsets) $(asm-offsets:.h=.s) \ |
| $(addprefix lib/generated/,$(notdir $(asm-offsets))) |
| |