diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2020-08-18 19:55:19 +0900 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-08-19 08:51:49 +0200 |
commit | 7a206af1ed1a1bf89e7731ede9ef26667b40132d (patch) | |
tree | d097e5edd95a6f84c73bab9088fc44a1a187d96d | |
parent | 5f716ec7447aa0e3c3a98a24b1066a09fe6afaca (diff) | |
download | barebox-7a206af1ed1a1bf89e7731ede9ef26667b40132d.tar.gz barebox-7a206af1ed1a1bf89e7731ede9ef26667b40132d.tar.xz |
kbuild: sync the top level Kbuild file with Linux
- Convert 'always' to 'always-y'
- Remove redundant 'targets' assignment
- Use filechk for the offset generation to avoid unneeded
rebuilds when the content of asm-offsets.h is not changed
- Remove the explicit build rule of asm-offsets.s because
it can be built of the pattern rule in scripts/Makefile.build
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | Kbuild | 28 |
1 files changed, 12 insertions, 16 deletions
@@ -1,14 +1,15 @@ -##### -# 1) Generate asm-offsets.h +# SPDX-License-Identifier: GPL-2.0 # +# Kbuild for top-level directory of Barebox + +##### +# Generate asm-offsets.h offsets-file := include/generated/asm-offsets.h -always += $(offsets-file) -targets += $(offsets-file) +always-y += $(offsets-file) targets += arch/$(SRCARCH)/lib/asm-offsets.s - # Default sed regexp - multiline due to syntax constraints define sed-y "/^->/{s:->#\(.*\):/* \1 */:; \ @@ -17,9 +18,9 @@ define sed-y s:->::; p;}" endef -quiet_cmd_offsets = GEN $@ -define cmd_offsets - (set -e; \ +# Use filechk to avoid rebuilds when a header changes, but the resulting file +# does not +define filechk_offsets echo "#ifndef __ASM_OFFSETS_H__"; \ echo "#define __ASM_OFFSETS_H__"; \ echo "/*"; \ @@ -31,13 +32,8 @@ define cmd_offsets echo ""; \ sed -ne $(sed-y) $<; \ echo ""; \ - echo "#endif" ) > $@ + echo "#endif" endef -# We use internal kbuild rules to avoid the "is up to date" message from make -arch/$(SRCARCH)/lib/asm-offsets.s: arch/$(SRCARCH)/lib/asm-offsets.c FORCE - $(Q)mkdir -p $(dir $@) - $(call if_changed_dep,cc_s_c) - -$(obj)/$(offsets-file): arch/$(SRCARCH)/lib/asm-offsets.s Kbuild - $(call cmd,offsets) +$(offsets-file): arch/$(SRCARCH)/lib/asm-offsets.s FORCE + $(call filechk,offsets) |