ホームページ >運用・保守 >Linuxの運用と保守 >Linuxのmakeコマンドとは何ですか?

Linuxのmakeコマンドとは何ですか?

藏色散人
藏色散人オリジナル
2023-03-25 09:14:038694ブラウズ

Linux の make コマンドは、システム管理者やプログラマーによって最も頻繁に使用されるコマンドの 1 つです。また、「自動コンパイル マネージャー」も指します。「自動」とは、ファイルのタイムスタンプを自動的に検出して追跡できることを意味します。 . 新しいファイルを作成して作業負荷を軽減すると同時に、メイクファイル ファイルの内容を読み取ることで大量のコンパイル作業を実行できます。

Linuxのmakeコマンドとは何ですか?

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

Linux の make コマンドとは何ですか?

Linux での make コマンドは、システム管理者やプログラマーが最も頻繁に使用するコマンドの 1 つです。管理者はこれを使用して、コマンド ラインを介して多くのオープン ソース ツールをコンパイルおよびインストールし、プログラマーは大規模で複雑なプロジェクトのコンパイルの問題を管理するために使用します。

1. make 構文の利点

make プロジェクト マネージャーは「自動コンパイル マネージャー」です。ここでの「自動」とは、ファイルに基づいて実行できることを意味します。更新されたファイルを自動的に検出して作業負荷を軽減すると同時に、メイクファイル ファイルの内容を読み取ることで大量のコンパイル作業を実行します。ユーザーは簡単なコンパイル ステートメントを 1 回使用するだけで済み、プロジェクトの実際の効率が大幅に向上します。

まずケースを想像してみましょう。実行可能ファイルに 4 つのソース コード ファイル、つまり main.c haha​​.c sin_value.c cos_value.c が含まれているとします。このプログラムは実行できるため、実行する必要があります。このようにコンパイルされました。

[root@linux ~]# gcc -c main.c 
[root@linux ~]# gcc -c haha.c 
[root@linux ~]# gcc -c sin_value.c 
[root@linux ~]# gcc -c cos_value.c 
# 先以上面的动作制作出四个目标文件,然后再进行下面的动作: 
 
[root@linux ~]# gcc -o main main.o haha.o sin_value.o cos_value.o \ 
> -lm -L/usr/lib -L/lib 
# 这样就可以制作出  main 这个执行档啰!执行看看吧! 

[root@linux ~]# ./main 
HaHa! I'm the King of the world 0.706825 0.707388

可能であれば、上記のすべての操作を 1 つのステップで完了できますか?次の内容の makefile をこのディレクトリに作成してみてください:

# 1. 先建立编译的规则 
[root@linux ~]# vi makefile 
main: main.o haha.o sin_value.o cos_value.o 
 gcc -o main main.o haha.o sin_value.o cos_value.o -lm 
# 注意:第二行的 gcc 之前是 <tab> 按键产生的空格喔! 
 
# 2. 尝试给他建立规则看看 
[root@linux ~]# rm -f main *.o   <==先将之前的目标文件去除 
[root@linux ~]# make 
cc    -c -o main.o main.c 
cc    -c -o haha.o haha.c 
cc    -c -o sin_value.o sin_value.c 
cc    -c -o cos_value.o cos_value.c 
gcc -o main main.o haha.o sin_value.o cos_value.o -lm 
# 这个时候 make 会主动去读取 makefile 这个档案的内容, 
# 并根据内容直接去给他编译起相关的执行档啰! 
 
# 3. 如果再执行一次 make 会怎样?! 
[root@linux ~]# make 
make: `main' is up to date. # 看到了吧?!是否很方便呢?!

make には次の利点があります:
• コンパイル中に発行する必要がある命令を簡素化します;

• コンパイルの完了後にソース コード ファイルが変更された場合、make は変更されたファイルのみをコンパイルし、他のオブジェクト ファイルは変更されません;

• その後、ソース コード ファイルを更新 (更新) することができます。実行可能ファイル。

2. make の基本構文

make の基本ルールは次のとおりです:

目标(target): 依赖条件 1 依赖条件 2 <tab>   gcc -o 欲建立的执行文件 依赖条件 1 依赖条件 2

makefile には 3 つの要素が含まれます: ターゲット、依存関係、コマンド。 Makefile には最終ゴールが 1 つだけあり、他のすべてのゴールはこのゴールに依存します。

ターゲットは作成したい情報、依存関係の条件は関連するオブジェクト ファイルです。実行可能ファイルを作成するための構文は、 ボタンで始まる行です。 「コマンド ラインは Tab キーで始める必要がある」という点に特に注意してください。彼のルールは基本的に次のとおりです:

• メイクファイル内の # はコメントを表します;

はコマンド ラインの最初の文字である必要があります;

• ターゲット (target) と依存ファイル (つまり、ターゲット ファイル) は、「:」で区切る必要があります。

システムのデフォルトの自動化変数を使用して、makefile 内のコマンドを簡素化できます:

$^:代表所有的依赖条件。
$@:代表目标文件
$<:代表一个目标文件

推奨学習: 「linux ビデオ チュートリアル

以上がLinuxのmakeコマンドとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。