kbuild: refactor ./Kbuild
cover kbuild: refactor ./Kbuild
Masahiro Yamada (2):
kbuild: merge generic-asm-offsets.h and asm-offsets.h rules
kbuild: remove redundant line from (generic-)asm-offsets.h
Michal Marek (1):
kbuild: Don't reset timestamps in include/generated if not needed
Kbuild | 73 +++++++++++++++++++++++++----------------------------------------- 1 file changed, 27 insertions(+), 46 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/3 kbuild: merge generic-asm-offsets.h and asm-offsets.h rules
The rules "cmd_generic-offsets" and "cmd_offsets" are almost the same. (The difference is only the include guards.) They can be merged.
This commit is mostly inspired by the following commit of Linux.
commit 39664e2f3cdef98f42437e903159a6044a1d99d6
Author: Masahiro Yamada <[email protected]>
Date: Mon Jan 5 15:57:15 2015 +0900
kbuild: merge bounds.h and asm-offsets.h rules
---
Kbuild | 62 ++++++++++++++++++++++---------------------------------------- 1 file changed, 22 insertions(+), 40 deletions(-)
Kbuild +22 -40
@@ -4,19 +4,20 @@ # 1) Generate generic-asm-offsets.h # 2) Generate asm-offsets.h -##### -# 1) Generate generic-asm-offsets.h - -generic-offsets-file := include/generated/generic-asm-offsets.h - -always := $(generic-offsets-file) -targets := $(generic-offsets-file) lib/asm-offsets.s +# Default sed regexp - multiline due to syntax constraints +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 -quiet_cmd_generic-offsets = GEN $@ -define cmd_generic-offsets +quiet_cmd_offsets = GEN $@ +define cmd_offsets (set -e; \ - echo "#ifndef __GENERIC_ASM_OFFSETS_H__"; \ - echo "#define __GENERIC_ASM_OFFSETS_H__"; \ + echo "#ifndef $2"; \ + echo "#define $2"; \ echo "/*"; \ echo " * DO NOT MODIFY."; \ echo " *"; \
@@ -29,6 +30,14 @@ define cmd_generic-offsets echo "#endif" ) > $@ endef +##### +# 1) Generate generic-asm-offsets.h + +generic-offsets-file := include/generated/generic-asm-offsets.h + +always := $(generic-offsets-file) +targets := $(generic-offsets-file) lib/asm-offsets.s + # We use internal kbuild rules to avoid the "is up to date" message from make lib/asm-offsets.s: lib/asm-offsets.c FORCE $(Q)mkdir -p $(dir $@)
@@ -36,7 +45,7 @@ lib/asm-offsets.s: lib/asm-offsets.c FORCE $(obj)/$(generic-offsets-file): lib/asm-offsets.s Kbuild $(Q)mkdir -p $(dir $@) - $(call cmd,generic-offsets) + $(call cmd,offsets,__GENERIC_ASM_OFFSETS_H__) ##### # 2) Generate asm-offsets.h
@@ -50,39 +59,12 @@ always += $(offsets-file) targets += $(offsets-file) targets += arch/$(ARCH)/lib/asm-offsets.s - -# Default sed regexp - multiline due to syntax constraints -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 - CFLAGS_asm-offsets.o := -DDO_DEPS_ONLY -quiet_cmd_offsets = GEN $@ -define cmd_offsets - (set -e; \ - echo "#ifndef __ASM_OFFSETS_H__"; \ - echo "#define __ASM_OFFSETS_H__"; \ - echo "/*"; \ - echo " * DO NOT MODIFY."; \ - echo " *"; \ - echo " * This file was generated by Kbuild"; \ - echo " *"; \ - echo " */"; \ - echo ""; \ - sed -ne $(sed-y) $<; \ - echo ""; \ - echo "#endif" ) > $@ -endef - # We use internal kbuild rules to avoid the "is up to date" message from make arch/$(ARCH)/lib/asm-offsets.s: arch/$(ARCH)/lib/asm-offsets.c FORCE $(Q)mkdir -p $(dir $@) $(call if_changed_dep,cc_s_c) $(obj)/$(offsets-file): arch/$(ARCH)/lib/asm-offsets.s Kbuild - $(call cmd,offsets) + $(call cmd,offsets,__ASM_OFFSETS_H__)
Signature · 1 line
1.9.1
PATCH 1/3 kbuild: merge generic-asm-offsets.h and asm-offsets.h rules
Quoted 6 lines · Masahiro Yamada
The rules "cmd_generic-offsets" and "
cmd_offsets" are almost the same. (The difference is only the include guards.) They can be merged.This commit is mostly inspired by the following commit of Linux.
Quoted 7 lines
commit
39664e2f3cdef98f42437e903159a6044a1d99d6
Author: Masahiro Yamada <[email protected]>
Date: Mon Jan 5 15:57:15 2015 +0900kbuild: merge
bounds.handasm-offsets.hrulesSigned-off-by Masahiro Yamada <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150328/2004dabb/attachment.sig>
PATCH 2/3 kbuild: remove redundant line from (generic-)asm-offsets.h
In reply to Masahiro YamadaFrom: Masahiro Yamada <[email protected]>
This line produces an extra comment line for generic-asm-offsets.h and asm-offsets.h.
[ imported from Linux Kernel, commit 343d3e6cc861,
with modification of commit description ]
---
Kbuild | 1 - 1 file changed, 1 deletion(-)
Kbuild +0 -1
@@ -22,7 +22,6 @@ define cmd_offsets echo " * DO NOT MODIFY."; \ echo " *"; \ echo " * This file was generated by Kbuild"; \ - echo " *"; \ echo " */"; \ echo ""; \ sed -ne $(sed-y) $<; \
Signature · 1 line
1.9.1
PATCH 2/3 kbuild: remove redundant line from (generic-)asm-offsets.h
Quoted 10 lines · Masahiro Yamada
From: Masahiro Yamada <[email protected]>
This line produces an extra comment line for
generic-asm-offsets.handasm-offsets.h.Signed-off-by Masahiro Yamada <[email protected]>Signed-off-by Michal Marek <[email protected]>[ imported from Linux Kernel, commit
343d3e6cc861,
with modification of commit description ]Signed-off-by Masahiro Yamada <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150328/cc762c9a/attachment.sig>
PATCH 3/3 kbuild: Don't reset timestamps in include/generated if not needed
In reply to Masahiro YamadaFrom: Michal Marek <[email protected]>
Use filechk to generate asm-offsets.h and generic-asm-offsets.h. Based on a patch by Valdis Kletnieks.
[ imported from Linux Kernel, commit 70a4fd6c56d0,
with adjustment for U-Boot ]
---
Kbuild | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
Kbuild +9 -9
@@ -13,8 +13,9 @@ define sed-y s:->::; p;}" endef -quiet_cmd_offsets = GEN $@ -define cmd_offsets +# Use filechk to avoid rebuilds when a header changes, but the resulting file +# does not +define filechk_offsets (set -e; \ echo "#ifndef $2"; \ echo "#define $2"; \
@@ -24,9 +25,9 @@ define cmd_offsets echo " * This file was generated by Kbuild"; \ echo " */"; \ echo ""; \ - sed -ne $(sed-y) $<; \ + sed -ne $(sed-y); \ echo ""; \ - echo "#endif" ) > $@ + echo "#endif" ) endef #####
@@ -42,9 +43,8 @@ lib/asm-offsets.s: lib/asm-offsets.c FORCE $(Q)mkdir -p $(dir $@) $(call if_changed_dep,cc_s_c) -$(obj)/$(generic-offsets-file): lib/asm-offsets.s Kbuild - $(Q)mkdir -p $(dir $@) - $(call cmd,offsets,__GENERIC_ASM_OFFSETS_H__) +$(obj)/$(generic-offsets-file): lib/asm-offsets.s FORCE + $(call filechk,offsets,__GENERIC_ASM_OFFSETS_H__) ##### # 2) Generate asm-offsets.h
@@ -65,5 +65,5 @@ arch/$(ARCH)/lib/asm-offsets.s: arch/$(ARCH)/lib/asm-offsets.c FORCE $(Q)mkdir -p $(dir $@) $(call if_changed_dep,cc_s_c) -$(obj)/$(offsets-file): arch/$(ARCH)/lib/asm-offsets.s Kbuild - $(call cmd,offsets,__ASM_OFFSETS_H__) +$(obj)/$(offsets-file): arch/$(ARCH)/lib/asm-offsets.s FORCE + $(call filechk,offsets,__ASM_OFFSETS_H__)
Signature · 1 line
1.9.1
PATCH 3/3 kbuild: Don't reset timestamps in include/generated if not needed
Quoted 5 lines · Masahiro Yamada
From: Michal Marek <[email protected]>
Use filechk to generate
asm-offsets.handgeneric-asm-offsets.h. Based on a patch by Valdis Kletnieks.
Quoted 7 lines
Reported-by Valdis Kletnieks <[email protected]>Acked-by Valdis Kletnieks <[email protected]>Reviewed-by Masahiro Yamada <[email protected]>Signed-off-by Michal Marek <[email protected]>[ imported from Linux Kernel, commit
70a4fd6c56d0,
with adjustment for U-Boot ]Signed-off-by Masahiro Yamada <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150328/87a7348a/attachment.sig>