ほとんどのプログラムは、単純な 2 つのコマンド シーケンスで構築されます。
$ ./configure $ make
configure プログラムは、ソース ツリーと共に提供されるシェル スクリプトです。その仕事は、ビルド環境を分析することです。 configure コマンドは、ソース ディレクトリにいくつかの新しいファイルを作成します。最も重要なものは Makefile です。 Makefile は、make プログラムにプログラムのビルド方法を正確に指示する構成ファイルです。 make プログラムは、完成したプログラムを構成するコンポーネント間の関係と依存関係を記述する make ファイル (通常は Makefile という名前) を入力として受け取ります。
カーネル モジュールをコンパイルするための make ファイルを作成しているときに、次のエラーに遭遇することがあります:
make: Nothing to be done for 'default'.
エラーの一般的な原因は、コマンドの前にタブ スペースがないことです。 make ルールには常に、ターゲット、前提条件、および前提条件からターゲットを生成するコマンドの 3 つの部分があります。
target:prerequisite command
make がコマンドとターゲットを区別できるようにするには、コマンドの前に常に 1 つのタブ スペースを付ける必要があります。そうしないと、make はそれをコマンドとして認識せず、ターゲットに指定されたコマンドがないというエラーをスローします。これは、デフォルトがターゲットである上記と同じエラーです。
したがって、問題を解決するには、makefile を開いて、エラーが発生しているターゲットのコマンドの前にタブ スペースを追加します。
最後のメモ
./configure、make、make install — 多くのソース コード パッケージのビルドに使用できます。また、プログラムの保守において演劇を行う重要な役割も見てきました。 make プログラムは、ソース コードのコンパイルだけでなく、ターゲット/依存関係を維持する必要があるあらゆるタスクに使用できます。 make プログラムの実行中に発生する「'default' に対して何もする必要はありません」というエラーを解決する方法を見てきました。