Blame view
Kbuild
1.82 KB
6a44d8063 kbuild: move asm-... |
1 2 3 4 5 |
# # Kbuild for top-level directory of U-Boot # This file takes care of the following: # 1) Generate generic-asm-offsets.h # 2) Generate asm-offsets.h |
490cf5f0c kbuild: merge gen... |
6 7 8 9 10 11 12 13 |
# 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 |
6a44d8063 kbuild: move asm-... |
14 |
|
3a4f6b60d kbuild: Don't res... |
15 16 17 |
# Use filechk to avoid rebuilds when a header changes, but the resulting file # does not define filechk_offsets |
6a44d8063 kbuild: move asm-... |
18 |
(set -e; \ |
490cf5f0c kbuild: merge gen... |
19 20 |
echo "#ifndef $2"; \ echo "#define $2"; \ |
6a44d8063 kbuild: move asm-... |
21 22 23 24 |
echo "/*"; \ echo " * DO NOT MODIFY."; \ echo " *"; \ echo " * This file was generated by Kbuild"; \ |
6a44d8063 kbuild: move asm-... |
25 26 |
echo " */"; \ echo ""; \ |
3a4f6b60d kbuild: Don't res... |
27 |
sed -ne $(sed-y); \ |
6a44d8063 kbuild: move asm-... |
28 |
echo ""; \ |
3a4f6b60d kbuild: Don't res... |
29 |
echo "#endif" ) |
6a44d8063 kbuild: move asm-... |
30 |
endef |
490cf5f0c kbuild: merge gen... |
31 32 33 34 35 36 |
##### # 1) Generate generic-asm-offsets.h generic-offsets-file := include/generated/generic-asm-offsets.h always := $(generic-offsets-file) |
ba84de9f1 kbuild: do not ad... |
37 |
targets := lib/asm-offsets.s |
490cf5f0c kbuild: merge gen... |
38 |
|
6a44d8063 kbuild: move asm-... |
39 40 41 42 |
# 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 $@) $(call if_changed_dep,cc_s_c) |
3a4f6b60d kbuild: Don't res... |
43 44 |
$(obj)/$(generic-offsets-file): lib/asm-offsets.s FORCE $(call filechk,offsets,__GENERIC_ASM_OFFSETS_H__) |
6a44d8063 kbuild: move asm-... |
45 46 47 48 |
##### # 2) Generate asm-offsets.h # |
254d68b60 kbuild: move asm-... |
49 |
ifneq ($(wildcard $(srctree)/arch/$(ARCH)/lib/asm-offsets.c),) |
6a44d8063 kbuild: move asm-... |
50 51 52 53 |
offsets-file := include/generated/asm-offsets.h endif always += $(offsets-file) |
254d68b60 kbuild: move asm-... |
54 |
targets += arch/$(ARCH)/lib/asm-offsets.s |
6a44d8063 kbuild: move asm-... |
55 |
|
6a44d8063 kbuild: move asm-... |
56 |
CFLAGS_asm-offsets.o := -DDO_DEPS_ONLY |
6a44d8063 kbuild: move asm-... |
57 |
# We use internal kbuild rules to avoid the "is up to date" message from make |
254d68b60 kbuild: move asm-... |
58 |
arch/$(ARCH)/lib/asm-offsets.s: arch/$(ARCH)/lib/asm-offsets.c FORCE |
6a44d8063 kbuild: move asm-... |
59 60 |
$(Q)mkdir -p $(dir $@) $(call if_changed_dep,cc_s_c) |
3a4f6b60d kbuild: Don't res... |
61 62 |
$(obj)/$(offsets-file): arch/$(ARCH)/lib/asm-offsets.s FORCE $(call filechk,offsets,__ASM_OFFSETS_H__) |