@@ -40,7 +40,7 @@ obj-$(CONFIG_RUST_KERNEL_DOCTESTS) += doctests_kernel_generated_kunit.o
40
40
ifdef CONFIG_RUST
41
41
42
42
# `$(rust_flags)` is passed in case the user added `--sysroot`.
43
- rustc_sysroot := $(shell $(RUSTC ) $(rust_flags ) --print sysroot)
43
+ rustc_sysroot := $(shell MAKEFLAGS= $(RUSTC ) $(rust_flags ) --print sysroot)
44
44
rustc_host_target := $(shell $(RUSTC ) --version --verbose | grep -F 'host: ' | cut -d' ' -f2)
45
45
RUST_LIB_SRC ?= $(rustc_sysroot ) /lib/rustlib/src/rust/library
46
46
@@ -108,14 +108,14 @@ rustdoc-macros: private rustdoc_host = yes
108
108
rustdoc-macros : private rustc_target_flags = --crate-type proc-macro \
109
109
--extern proc_macro
110
110
rustdoc-macros : $(src ) /macros/lib.rs FORCE
111
- $(call if_changed,rustdoc)
111
+ + $(call if_changed,rustdoc)
112
112
113
113
rustdoc-core : private rustc_target_flags = $(core-cfgs )
114
114
rustdoc-core : $(RUST_LIB_SRC ) /core/src/lib.rs FORCE
115
- $(call if_changed,rustdoc)
115
+ + $(call if_changed,rustdoc)
116
116
117
117
rustdoc-compiler_builtins : $(src ) /compiler_builtins.rs rustdoc-core FORCE
118
- $(call if_changed,rustdoc)
118
+ + $(call if_changed,rustdoc)
119
119
120
120
# We need to allow `rustdoc::broken_intra_doc_links` because some
121
121
# `no_global_oom_handling` functions refer to non-`no_global_oom_handling`
@@ -124,15 +124,15 @@ rustdoc-compiler_builtins: $(src)/compiler_builtins.rs rustdoc-core FORCE
124
124
rustdoc-alloc : private rustc_target_flags = $(alloc-cfgs ) \
125
125
-Arustdoc ::broken_intra_doc_links
126
126
rustdoc-alloc : $(src ) /alloc/lib.rs rustdoc-core rustdoc-compiler_builtins FORCE
127
- $(call if_changed,rustdoc)
127
+ + $(call if_changed,rustdoc)
128
128
129
129
rustdoc-kernel : private rustc_target_flags = --extern alloc \
130
130
--extern build_error --extern macros=$(objtree)/$(obj)/libmacros.so \
131
131
--extern bindings --extern uapi
132
132
rustdoc-kernel : $(src ) /kernel/lib.rs rustdoc-core rustdoc-macros \
133
133
rustdoc-compiler_builtins rustdoc-alloc $(obj)/libmacros.so \
134
134
$(obj)/bindings.o FORCE
135
- $(call if_changed,rustdoc)
135
+ + $(call if_changed,rustdoc)
136
136
137
137
quiet_cmd_rustc_test_library = RUSTC TL $<
138
138
cmd_rustc_test_library = \
@@ -146,18 +146,18 @@ quiet_cmd_rustc_test_library = RUSTC TL $<
146
146
--crate-name $(subst rusttest-,,$(subst rusttestlib-,,$@ ) ) $<
147
147
148
148
rusttestlib-build_error : $(src ) /build_error.rs rusttest-prepare FORCE
149
- $(call if_changed,rustc_test_library)
149
+ + $(call if_changed,rustc_test_library)
150
150
151
151
rusttestlib-macros : private rustc_target_flags = --extern proc_macro
152
152
rusttestlib-macros : private rustc_test_library_proc = yes
153
153
rusttestlib-macros : $(src ) /macros/lib.rs rusttest-prepare FORCE
154
- $(call if_changed,rustc_test_library)
154
+ + $(call if_changed,rustc_test_library)
155
155
156
156
rusttestlib-bindings : $(src ) /bindings/lib.rs rusttest-prepare FORCE
157
- $(call if_changed,rustc_test_library)
157
+ + $(call if_changed,rustc_test_library)
158
158
159
159
rusttestlib-uapi : $(src ) /uapi/lib.rs rusttest-prepare FORCE
160
- $(call if_changed,rustc_test_library)
160
+ + $(call if_changed,rustc_test_library)
161
161
162
162
quiet_cmd_rustdoc_test = RUSTDOC T $<
163
163
cmd_rustdoc_test = \
@@ -189,7 +189,7 @@ quiet_cmd_rustdoc_test_kernel = RUSTDOC TK $<
189
189
$(src)/kernel/lib.rs $(obj)/kernel.o \
190
190
$(objtree)/scripts/rustdoc_test_builder \
191
191
$(objtree)/scripts/rustdoc_test_gen FORCE
192
- $(call if_changed,rustdoc_test_kernel)
192
+ + $(call if_changed,rustdoc_test_kernel)
193
193
194
194
# We cannot use `-Zpanic-abort-tests` because some tests are dynamic,
195
195
# so for the moment we skip `-Cpanic=abort`.
@@ -254,21 +254,21 @@ quiet_cmd_rustsysroot = RUSTSYSROOT
254
254
$(objtree)/$(obj)/test/sysroot/lib/rustlib/$(rustc_host_target)/lib
255
255
256
256
rusttest-prepare : FORCE
257
- $(call if_changed,rustsysroot)
257
+ + $(call if_changed,rustsysroot)
258
258
259
259
rusttest-macros : private rustc_target_flags = --extern proc_macro
260
260
rusttest-macros : private rustdoc_test_target_flags = --crate-type proc-macro
261
261
rusttest-macros : $(src ) /macros/lib.rs rusttest-prepare FORCE
262
- $(call if_changed,rustc_test)
263
- $(call if_changed,rustdoc_test)
262
+ + $(call if_changed,rustc_test)
263
+ + $(call if_changed,rustdoc_test)
264
264
265
265
rusttest-kernel : private rustc_target_flags = --extern alloc \
266
266
--extern build_error --extern macros --extern bindings --extern uapi
267
267
rusttest-kernel : $(src ) /kernel/lib.rs rusttest-prepare \
268
268
rusttestlib-build_error rusttestlib-macros rusttestlib-bindings \
269
269
rusttestlib-uapi FORCE
270
- $(call if_changed,rustc_test)
271
- $(call if_changed,rustc_test_library)
270
+ + $(call if_changed,rustc_test)
271
+ + $(call if_changed,rustc_test_library)
272
272
273
273
ifdef CONFIG_CC_IS_CLANG
274
274
bindgen_c_flags = $(c_flags )
@@ -397,7 +397,7 @@ quiet_cmd_rustc_procmacro = $(RUSTC_OR_CLIPPY_QUIET) P $@
397
397
# Therefore, to get `libmacros.so` automatically recompiled when the compiler
398
398
# version changes, we add `core.o` as a dependency (even if it is not needed).
399
399
$(obj ) /libmacros.so : $(src ) /macros/lib.rs $(obj ) /core.o FORCE
400
- $(call if_changed_dep,rustc_procmacro)
400
+ + $(call if_changed_dep,rustc_procmacro)
401
401
402
402
quiet_cmd_rustc_library = $(if $(skip_clippy ) ,RUSTC,$(RUSTC_OR_CLIPPY_QUIET ) ) L $@
403
403
cmd_rustc_library = \
@@ -436,39 +436,39 @@ $(obj)/core.o: private skip_flags = -Dunreachable_pub
436
436
$(obj ) /core.o : private rustc_objcopy = $(foreach sym,$(redirect-intrinsics ) ,--redefine-sym $(sym ) =__rust$(sym ) )
437
437
$(obj ) /core.o : private rustc_target_flags = $(core-cfgs )
438
438
$(obj ) /core.o : $(RUST_LIB_SRC ) /core/src/lib.rs FORCE
439
- $(call if_changed_dep,rustc_library)
439
+ + $(call if_changed_dep,rustc_library)
440
440
ifneq ($(or $(CONFIG_X86_64 ) ,$(CONFIG_LOONGARCH ) ) ,)
441
441
$(obj ) /core.o : scripts/target.json
442
442
endif
443
443
444
444
$(obj ) /compiler_builtins.o : private rustc_objcopy = -w -W '__* '
445
445
$(obj ) /compiler_builtins.o : $(src ) /compiler_builtins.rs $(obj ) /core.o FORCE
446
- $(call if_changed_dep,rustc_library)
446
+ + $(call if_changed_dep,rustc_library)
447
447
448
448
$(obj ) /alloc.o : private skip_clippy = 1
449
449
$(obj ) /alloc.o : private skip_flags = -Dunreachable_pub
450
450
$(obj ) /alloc.o : private rustc_target_flags = $(alloc-cfgs )
451
451
$(obj ) /alloc.o : $(src ) /alloc/lib.rs $(obj ) /compiler_builtins.o FORCE
452
- $(call if_changed_dep,rustc_library)
452
+ + $(call if_changed_dep,rustc_library)
453
453
454
454
$(obj ) /build_error.o : $(src ) /build_error.rs $(obj ) /compiler_builtins.o FORCE
455
- $(call if_changed_dep,rustc_library)
455
+ + $(call if_changed_dep,rustc_library)
456
456
457
457
$(obj ) /bindings.o : $(src ) /bindings/lib.rs \
458
458
$(obj)/compiler_builtins.o \
459
459
$(obj)/bindings/bindings_generated.rs \
460
460
$(obj)/bindings/bindings_helpers_generated.rs FORCE
461
- $(call if_changed_dep,rustc_library)
461
+ + $(call if_changed_dep,rustc_library)
462
462
463
463
$(obj ) /uapi.o : $(src ) /uapi/lib.rs \
464
464
$(obj)/compiler_builtins.o \
465
465
$(obj)/uapi/uapi_generated.rs FORCE
466
- $(call if_changed_dep,rustc_library)
466
+ + $(call if_changed_dep,rustc_library)
467
467
468
468
$(obj ) /kernel.o : private rustc_target_flags = --extern alloc \
469
469
--extern build_error --extern macros --extern bindings --extern uapi
470
470
$(obj ) /kernel.o : $(src ) /kernel/lib.rs $(obj ) /alloc.o $(obj ) /build_error.o \
471
471
$(obj)/libmacros.so $(obj)/bindings.o $(obj)/uapi.o FORCE
472
- $(call if_changed_dep,rustc_library)
472
+ + $(call if_changed_dep,rustc_library)
473
473
474
474
endif # CONFIG_RUST
0 commit comments