X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Kbuild;h=2d4f95e4b89f7f81da6cb94b07e8449b3689ba37;hb=5b55dda6f40c46e93006b3c88f75550e0d3b3032;hp=197ece85034ba8ad983af531597b6b40610aa2c6;hpb=86feeaa8120bb1b0ab21efed49e9754039395ef1;p=linux-2.6 diff --git a/Kbuild b/Kbuild index 197ece8503..2d4f95e4b8 100644 --- a/Kbuild +++ b/Kbuild @@ -4,7 +4,7 @@ # 1) Generate asm-offsets.h ##### -# 1) Generate asm-offsets.h +# 1) Generate asm-offsets.h # offsets-file := include/asm-$(ARCH)/asm-offsets.h @@ -13,9 +13,15 @@ always := $(offsets-file) targets := $(offsets-file) targets += arch/$(ARCH)/kernel/asm-offsets.s +# Default sed regexp - multiline due to syntax constraints +define sed-y + "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" +endef +# Override default regexp for specific architectures +sed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}" + quiet_cmd_offsets = GEN $@ define cmd_offsets - cat $< | \ (set -e; \ echo "#ifndef __ASM_OFFSETS_H__"; \ echo "#define __ASM_OFFSETS_H__"; \ @@ -26,7 +32,7 @@ define cmd_offsets echo " *"; \ echo " */"; \ echo ""; \ - sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \ + sed -ne $(sed-y) $<; \ echo ""; \ echo "#endif" ) > $@ endef @@ -36,6 +42,7 @@ arch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE $(Q)mkdir -p $(dir $@) $(call if_changed_dep,cc_s_c) -$(srctree)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild +$(obj)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild + $(Q)mkdir -p $(dir $@) $(call cmd,offsets)