File tree 4 files changed +32
-75
lines changed
4 files changed +32
-75
lines changed Original file line number Diff line number Diff line change 7
7
# 4) Check for missing system calls
8
8
# 5) Generate constants.py (may need bounds.h)
9
9
10
- # Default sed regexp - multiline due to syntax constraints
11
- define sed-y
12
- "/^->/{s:-># \(.*\):/* \1 */:; \
13
- s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
14
- s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
15
- s:->::; p;}"
16
- endef
17
-
18
- # Use filechk to avoid rebuilds when a header changes, but the resulting file
19
- # does not
20
- define filechk_offsets
21
- (set -e; \
22
- echo "# ifndef $2"; \
23
- echo "#define $2"; \
24
- echo "/*"; \
25
- echo " * DO NOT MODIFY."; \
26
- echo " *"; \
27
- echo " * This file was generated by Kbuild"; \
28
- echo " */"; \
29
- echo ""; \
30
- sed -ne $(sed-y); \
31
- echo ""; \
32
- echo "#endif" )
33
- endef
34
-
35
10
# ####
36
11
# 1) Generate bounds.h
37
12
Original file line number Diff line number Diff line change @@ -50,32 +50,10 @@ CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31
50
50
# The gate DSO image is built using a special linker script.
51
51
include $(src ) /Makefile.gate
52
52
53
- # Calculate NR_IRQ = max(IA64_NATIVE_NR_IRQS, XEN_NR_IRQS, ...) based on config
54
- define sed-y
55
- "/^->/{s:^->\([^ ]*\) [\$$# ]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"
56
- endef
57
- quiet_cmd_nr_irqs = GEN $@
58
- define cmd_nr_irqs
59
- (set -e; \
60
- echo "# ifndef __ASM_NR_IRQS_H__"; \
61
- echo "#define __ASM_NR_IRQS_H__"; \
62
- echo "/*"; \
63
- echo " * DO NOT MODIFY."; \
64
- echo " *"; \
65
- echo " * This file was generated by Kbuild"; \
66
- echo " *"; \
67
- echo " */"; \
68
- echo ""; \
69
- sed -ne $(sed-y) $<; \
70
- echo ""; \
71
- echo "#endif" ) > $@
72
- endef
73
-
74
53
# We use internal kbuild rules to avoid the "is up to date" message from make
75
54
arch/$(SRCARCH ) /kernel/nr-irqs.s : arch/$(SRCARCH ) /kernel/nr-irqs.c
76
55
$(Q ) mkdir -p $(dir $@ )
77
56
$(call if_changed_dep,cc_s_c)
78
57
79
- include/generated/nr-irqs.h : arch/$(SRCARCH ) /kernel/nr-irqs.s
80
- $(Q ) mkdir -p $(dir $@ )
81
- $(call cmd,nr_irqs)
58
+ include/generated/nr-irqs.h : arch/$(SRCARCH ) /kernel/nr-irqs.s FORCE
59
+ $(call filechk,offsets,__ASM_NR_IRQS_H__)
Original file line number Diff line number Diff line change @@ -420,3 +420,31 @@ quiet_cmd_xzmisc = XZMISC $@
420
420
cmd_xzmisc = (cat $(filter-out FORCE,$^) | \
421
421
xz --check=crc32 --lzma2=dict=1MiB) > $@ || \
422
422
(rm -f $@ ; false)
423
+
424
+ # ASM offsets
425
+ # ---------------------------------------------------------------------------
426
+
427
+ # Default sed regexp - multiline due to syntax constraints
428
+ define sed-offsets
429
+ "/^->/{s:->#\(.*\):/* \1 */:; \
430
+ s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
431
+ s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
432
+ s:->::; p;}"
433
+ endef
434
+
435
+ # Use filechk to avoid rebuilds when a header changes, but the resulting file
436
+ # does not
437
+ define filechk_offsets
438
+ (set -e; \
439
+ echo "#ifndef $2"; \
440
+ echo "#define $2"; \
441
+ echo "/*"; \
442
+ echo " * DO NOT MODIFY."; \
443
+ echo " *"; \
444
+ echo " * This file was generated by Kbuild"; \
445
+ echo " */"; \
446
+ echo ""; \
447
+ sed -ne $(sed-offsets); \
448
+ echo ""; \
449
+ echo "#endif" )
450
+ endef
Original file line number Diff line number Diff line change @@ -7,32 +7,8 @@ modpost-objs := modpost.o file2alias.o sumversion.o
7
7
8
8
devicetable-offsets-file := devicetable-offsets.h
9
9
10
- define sed-y
11
- "/^->/{s:-># \(.*\):/* \1 */:; \
12
- s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
13
- s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
14
- s:->::; p;}"
15
- endef
16
-
17
- quiet_cmd_offsets = GEN $@
18
- define cmd_offsets
19
- (set -e; \
20
- echo "# ifndef __DEVICETABLE_OFFSETS_H__"; \
21
- echo "#define __DEVICETABLE_OFFSETS_H__"; \
22
- echo "/*"; \
23
- echo " * DO NOT MODIFY."; \
24
- echo " *"; \
25
- echo " * This file was generated by Kbuild"; \
26
- echo " *"; \
27
- echo " */"; \
28
- echo ""; \
29
- sed -ne $(sed-y) $<; \
30
- echo ""; \
31
- echo "#endif" ) > $@
32
- endef
33
-
34
- $(obj ) /$(devicetable-offsets-file ) : $(obj ) /devicetable-offsets.s
35
- $(call if_changed,offsets)
10
+ $(obj ) /$(devicetable-offsets-file ) : $(obj ) /devicetable-offsets.s FORCE
11
+ $(call filechk,offsets,__DEVICETABLE_OFFSETS_H__)
36
12
37
13
targets += $(devicetable-offsets-file ) devicetable-offsets.s
38
14
You can’t perform that action at this time.
0 commit comments