X-Git-Url: https://nv-tegra.nvidia.com/r/gitweb?p=linux-2.6.git;a=blobdiff_plain;f=Kbuild;h=0451f69353bad4d07de34fd4658f40b805bd467a;hp=197ece85034ba8ad983af531597b6b40610aa2c6;hb=27d2a3300755387d2fec231d37944907ff992ce8;hpb=86feeaa8120bb1b0ab21efed49e9754039395ef1 diff --git a/Kbuild b/Kbuild index 197ece85034..0451f69353b 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,20 +13,26 @@ 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__"; \ echo "/*"; \ echo " * DO NOT MODIFY."; \ echo " *"; \ - echo " * This file was generated by $(srctree)/Kbuild"; \ + echo " * This file was generated by Kbuild"; \ 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)