|  | # | 
|  | # 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))) | 
|  |  |