@@ -15,8 +15,9 @@ always-$(CONFIG_RUST) += libmacros.so
1515no-clean-files += libmacros.so
1616
1717always-$(CONFIG_RUST) += bindings_generated.rs bindings_helpers_generated.rs
18- obj-$(CONFIG_RUST) += alloc.o kernel.o
19- always-$(CONFIG_RUST) += exports_alloc_generated.h exports_kernel_generated.h
18+ obj-$(CONFIG_RUST) += alloc.o bindings.o kernel.o
19+ always-$(CONFIG_RUST) += exports_alloc_generated.h exports_bindings_generated.h \
20+ exports_kernel_generated.h
2021
2122ifdef CONFIG_RUST_BUILD_ASSERT_DENY
2223always-$(CONFIG_RUST) += build_error.o
@@ -110,10 +111,11 @@ rustdoc-alloc: $(src)/alloc/lib.rs rustdoc-core rustdoc-compiler_builtins FORCE
110111 $(call if_changed,rustdoc)
111112
112113rustdoc-kernel : private rustc_target_flags = --extern alloc \
113- --extern build_error --extern macros=$(objtree)/$(obj)/libmacros.so
114+ --extern build_error --extern macros=$(objtree)/$(obj)/libmacros.so \
115+ --extern bindings
114116rustdoc-kernel : $(src ) /kernel/lib.rs rustdoc-core rustdoc-macros \
115117 rustdoc-compiler_builtins rustdoc-alloc $(obj)/libmacros.so \
116- $(obj)/bindings_generated.rs $(obj)/bindings_helpers_generated.rs FORCE
118+ $(obj)/bindings.o FORCE
117119 $(call if_changed,rustdoc)
118120
119121quiet_cmd_rustc_test_library = RUSTC TL $<
@@ -135,6 +137,9 @@ rusttestlib-macros: private rustc_test_library_proc = yes
135137rusttestlib-macros : $(src ) /macros/lib.rs rusttest-prepare FORCE
136138 $(call if_changed,rustc_test_library)
137139
140+ rusttestlib-bindings : $(src ) /bindings/lib.rs rusttest-prepare FORCE
141+ $(call if_changed,rustc_test_library)
142+
138143quiet_cmd_rustdoc_test = RUSTDOC T $<
139144 cmd_rustdoc_test = \
140145 OBJTREE=$(abspath $(objtree ) ) \
@@ -154,6 +159,7 @@ quiet_cmd_rustdoc_test_kernel = RUSTDOC TK $<
154159 @$(objtree ) /include/generated/rustc_cfg \
155160 -L$(objtree ) /$(obj ) --extern alloc --extern kernel \
156161 --extern build_error --extern macros \
162+ --extern bindings \
157163 --no-run --crate-name kernel -Zunstable-options \
158164 --test-builder $(srctree ) /scripts/rustdoc_test_builder.py \
159165 $< $(rustdoc_test_kernel_quiet ) ; \
@@ -234,10 +240,9 @@ rusttest-macros: $(src)/macros/lib.rs rusttest-prepare FORCE
234240 $(call if_changed,rustdoc_test)
235241
236242rusttest-kernel : private rustc_target_flags = --extern alloc \
237- --extern build_error --extern macros
238- rusttest-kernel : private rustc_test_run_flags = --skip bindgen_test_layout_
243+ --extern build_error --extern macros --extern bindings
239244rusttest-kernel : $(src ) /kernel/lib.rs rusttest-prepare \
240- rusttestlib-build_error rusttestlib-macros FORCE
245+ rusttestlib-build_error rusttestlib-macros rusttestlib-bindings FORCE
241246 $(call if_changed,rustc_test)
242247 $(call if_changed,rustc_test_library)
243248
@@ -335,6 +340,9 @@ $(obj)/exports_core_generated.h: $(obj)/core.o FORCE
335340$(obj ) /exports_alloc_generated.h : $(obj ) /alloc.o FORCE
336341 $(call if_changed,exports)
337342
343+ $(obj ) /exports_bindings_generated.h : $(obj ) /bindings.o FORCE
344+ $(call if_changed,exports)
345+
338346$(obj ) /exports_kernel_generated.h : $(obj ) /kernel.o FORCE
339347 $(call if_changed,exports)
340348
@@ -388,11 +396,16 @@ $(obj)/alloc.o: $(src)/alloc/lib.rs $(obj)/compiler_builtins.o FORCE
388396$(obj ) /build_error.o : $(src ) /build_error.rs $(obj ) /compiler_builtins.o FORCE
389397 $(call if_changed_dep,rustc_library)
390398
399+ $(obj ) /bindings.o : $(src ) /kernel/bindings.rs \
400+ $(obj ) /compiler_builtins.o \
401+ $(obj)/bindings_generated.rs \
402+ $(obj)/bindings_helpers_generated.rs FORCE
403+ $(call if_changed_dep,rustc_library)
404+
391405$(obj ) /kernel.o : private rustc_target_flags = --extern alloc \
392- --extern build_error --extern macros
406+ --extern build_error --extern macros --extern bindings
393407$(obj ) /kernel.o : $(src ) /kernel/lib.rs $(obj ) /alloc.o $(obj ) /build_error.o \
394- $(obj)/libmacros.so $(obj)/bindings_generated.rs \
395- $(obj)/bindings_helpers_generated.rs FORCE
408+ $(obj)/libmacros.so $(obj)/bindings.o FORCE
396409 $(call if_changed_dep,rustc_library)
397410
398411endif # CONFIG_RUST
0 commit comments