0
私は、デバイスドライバ用のツリー外のカーネルモジュールを構築しています。全体的に、物事がうまくいっているが、私はkbuildとビルドシステムの使用に関するいくつかの質問だった:kbuild external module questions
- を私はこの素晴らしい記事を見つけました:Is it possible to set CFLAGS to a linux kernel module Makefile?、コンパイラフラグを変更する方法を示しています。その結果、私はコンパイラのフラグを
ccflags-y := -O2 -Wall -Wextra -I $(DRIVER_INC_DIR)
として設定しています。ここで、$(DRIVER_INC_DIR)
は私のドライバのさまざまなヘッダファイルです。私のドライバはいくつかの.oファイルで構成されていて、ひとつの.koファイルにマージされることに注意してください。私は自分のコードでコンパイラが生成した警告を表示したいが、Linuxではコードを表示したくない(例えば、linux/module.h)。どうすればそれを達成できますか?私はユーザー空間アプリケーションでは-isystem
オプションがあることを知っていますが、ここでどのように適用されるのだろうと思います。 modules_install
と.koファイルをコンパイルした後にコピーを行うだけの違いはありますか?なぜなら私は "make uninstall"ターゲットをサポートする必要があるからです(そしてmodules_uninstall
はありません。clean
は削除されていないと思われます)。それがインストールされた場所からko)。
ご協力いただきありがとうございます。