Blame view
Kbuild
1.56 KB
86feeaa81
|
1 2 3 4 |
# # Kbuild for top-level directory of the kernel # This file takes care of the following: # 1) Generate asm-offsets.h |
c53aeca05
|
5 |
# 2) Check for missing system calls |
86feeaa81
|
6 7 |
##### |
8d36a6236
|
8 |
# 1) Generate asm-offsets.h |
86feeaa81
|
9 |
# |
96a388de5
|
10 |
offsets-file := include/asm-$(SRCARCH)/asm-offsets.h |
86feeaa81
|
11 12 13 |
always := $(offsets-file) targets := $(offsets-file) |
6752ed90d
|
14 |
targets += arch/$(SRCARCH)/kernel/asm-offsets.s |
f241182b5
|
15 |
clean-files := $(addprefix $(objtree)/,$(targets)) |
86feeaa81
|
16 |
|
048eb582f
|
17 18 19 20 21 |
# 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 |
0947640f4
|
22 |
sed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}" |
048eb582f
|
23 |
|
86feeaa81
|
24 25 |
quiet_cmd_offsets = GEN $@ define cmd_offsets |
86feeaa81
|
26 27 28 29 30 31 |
(set -e; \ echo "#ifndef __ASM_OFFSETS_H__"; \ echo "#define __ASM_OFFSETS_H__"; \ echo "/*"; \ echo " * DO NOT MODIFY."; \ echo " *"; \ |
65ff22ee3
|
32 |
echo " * This file was generated by Kbuild"; \ |
86feeaa81
|
33 34 35 |
echo " *"; \ echo " */"; \ echo ""; \ |
ac448afbc
|
36 |
sed -ne $(sed-y) $<; \ |
86feeaa81
|
37 38 39 40 41 |
echo ""; \ echo "#endif" ) > $@ endef # We use internal kbuild rules to avoid the "is up to date" message from make |
6752ed90d
|
42 |
arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c FORCE |
86feeaa81
|
43 44 |
$(Q)mkdir -p $(dir $@) $(call if_changed_dep,cc_s_c) |
6752ed90d
|
45 |
$(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild |
ac448afbc
|
46 |
$(Q)mkdir -p $(dir $@) |
86feeaa81
|
47 |
$(call cmd,offsets) |
c53aeca05
|
48 49 50 51 52 53 54 55 56 57 |
##### # 2) Check for missing system calls # quiet_cmd_syscalls = CALL $< cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) PHONY += missing-syscalls missing-syscalls: scripts/checksyscalls.sh FORCE $(call cmd,syscalls) |