From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-kbuild@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
rust-for-linux@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Borislav Petkov" <bp@suse.de>, "David Gow" <davidgow@google.com>,
"Helge Deller" <deller@gmx.de>,
"Kees Cook" <keescook@chromium.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Nicolas Schier" <nicolas@fjasle.eu>,
"Palmer Dabbelt" <palmer@rivosinc.com>,
"Segher Boessenkool" <segher@kernel.crashing.org>
Subject: [PATCH] kbuild: rust: move rust/target.json to scripts/
Date: Sat, 31 Dec 2022 17:30:28 +0900 [thread overview]
Message-ID: <20221231083028.1635698-1-masahiroy@kernel.org> (raw)
scripts/ is a better place to generate files used treewide.
You do not need to add target.json to no-clean-files or MRPROER_FILES.
'make clean' does not visit scripts/, but 'make mrproper' does.
With target.json moved into scripts/, Kbuild will do the right thing.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
Makefile | 4 ++--
rust/.gitignore | 1 -
rust/Makefile | 10 +---------
scripts/.gitignore | 1 +
scripts/Makefile | 8 +++++++-
scripts/remove-stale-files | 2 ++
6 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile
index 6b2a65f1aeaf..f9ec5bcacc60 100644
--- a/Makefile
+++ b/Makefile
@@ -569,7 +569,7 @@ KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
-std=gnu11
KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_RUSTFLAGS := $(rust_common_flags) \
- --target=$(objtree)/rust/target.json \
+ --target=$(objtree)/scripts/target.json \
-Cpanic=abort -Cembed-bitcode=n -Clto=n \
-Cforce-unwind-tables=n -Ccodegen-units=1 \
-Csymbol-mangling-version=v0 \
@@ -1593,7 +1593,7 @@ MRPROPER_FILES += include/config include/generated \
certs/x509.genkey \
vmlinux-gdb.py \
*.spec \
- rust/target.json rust/libmacros.so
+ rust/libmacros.so
# clean - Delete most, but leave enough to build external modules
#
diff --git a/rust/.gitignore b/rust/.gitignore
index 9bd1af8e05a1..168cb26a31b9 100644
--- a/rust/.gitignore
+++ b/rust/.gitignore
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-target.json
bindings_generated.rs
bindings_helpers_generated.rs
exports_*_generated.h
diff --git a/rust/Makefile b/rust/Makefile
index c8941fec6955..9e33fa04b594 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -1,8 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-always-$(CONFIG_RUST) += target.json
-no-clean-files += target.json
-
obj-$(CONFIG_RUST) += core.o compiler_builtins.o
always-$(CONFIG_RUST) += exports_core_generated.h
@@ -231,11 +228,6 @@ rusttest-kernel: $(src)/kernel/lib.rs rusttest-prepare \
$(call if_changed,rustc_test)
$(call if_changed,rustc_test_library)
-filechk_rust_target = $(objtree)/scripts/generate_rust_target < $<
-
-$(obj)/target.json: $(objtree)/include/config/auto.conf FORCE
- $(call filechk,rust_target)
-
ifdef CONFIG_CC_IS_CLANG
bindgen_c_flags = $(c_flags)
else
@@ -358,7 +350,7 @@ rust-analyzer:
$(obj)/core.o: private skip_clippy = 1
$(obj)/core.o: private skip_flags = -Dunreachable_pub
$(obj)/core.o: private rustc_target_flags = $(core-cfgs)
-$(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs $(obj)/target.json FORCE
+$(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs scripts/target.json FORCE
$(call if_changed_dep,rustc_library)
$(obj)/compiler_builtins.o: private rustc_objcopy = -w -W '__*'
diff --git a/scripts/.gitignore b/scripts/.gitignore
index b7aec8eb1bd4..11bf3c075fb6 100644
--- a/scripts/.gitignore
+++ b/scripts/.gitignore
@@ -8,4 +8,5 @@
/recordmcount
/sign-file
/sorttable
+/target.json
/unifdef
diff --git a/scripts/Makefile b/scripts/Makefile
index 1575af84d557..0e0ae3c06ed7 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -10,8 +10,14 @@ hostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT) += sorttable
hostprogs-always-$(CONFIG_ASN1) += asn1_compiler
hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT) += sign-file
hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert
-hostprogs-always-$(CONFIG_RUST) += generate_rust_target
+always-$(CONFIG_RUST) += target.json
+filechk_rust_target = $< < include/config/auto.conf
+
+$(obj)/target.json: scripts/generate_rust_target include/config/auto.conf FORCE
+ $(call filechk,rust_target)
+
+hostprogs += generate_rust_target
generate_rust_target-rust := y
HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include
diff --git a/scripts/remove-stale-files b/scripts/remove-stale-files
index cdbdde89a271..c71bf2f68360 100755
--- a/scripts/remove-stale-files
+++ b/scripts/remove-stale-files
@@ -27,3 +27,5 @@ rm -f arch/x86/purgatory/kexec-purgatory.c
rm -f scripts/extract-cert
rm -f scripts/kconfig/[gmnq]conf-cfg
+
+rm -f rust/target.json
--
2.34.1
next reply other threads:[~2022-12-31 8:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-31 8:30 Masahiro Yamada [this message]
2022-12-31 14:25 ` [PATCH] kbuild: rust: move rust/target.json to scripts/ Miguel Ojeda
2022-12-31 14:56 ` Masahiro Yamada
2022-12-31 15:07 ` Miguel Ojeda
2023-01-07 9:43 ` Masahiro Yamada
2023-01-07 14:45 ` Miguel Ojeda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221231083028.1635698-1-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=bp@suse.de \
--cc=davidgow@google.com \
--cc=deller@gmx.de \
--cc=gary@garyguo.net \
--cc=keescook@chromium.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=ojeda@kernel.org \
--cc=palmer@rivosinc.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=segher@kernel.crashing.org \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).