Makefile
🤷♀️なぜMakeが必要なの?
GCCコンパイラを使用してコンパイルを行うと、毎回複数のコマンドが発生します.これらの問題を解決するために、Linuxの
alias
のようにコマンドスクリプトを保存し、コンパイルを自動的に実行できます.行うツールをmakeと呼びます.
makeの利点
各ファイルの繰り返しコマンドを自動化することで、
📁Makefile
Makeを実装するには、プロジェクトフォルダのルートディレクトリに
Makefile
というファイルを作成する必要があります.このファイルはMakeがこのプロジェクトを構築する方法を指定したファイルで、指定した構文に従って作成する必要があります.💡例を通して簡単に理解してみましょう!!
上記の関係に基づいてdaily exe実行可能ファイルを作成します.
1.cファイルからobjファイルを作成する
gcc -c -o memo.o memo.c
gcc -c -o calendar.o calendar.c
gcc -c -o main.o main.c
2.各オブジェクトファイルをパッケージ化し、コンパイルによりdaily exe実行可能ファイルを生成するgcc -o diary_exe main.o memo.o calendar.o
チェック$./diary_exe
コンパイルをパッケージ化する場合.もしcファイルが100個だったら?!すべての100ファイルをコマンドに書き込む必要があります😂だから必要なのは
make
とMakefile
です!➰Makefileの構成
-ターゲットファイル(Target):コマンド実行結果を保存するファイル
-依存性:ターゲットファイルの作成に必要な材料
-コマンド(Command):実行するコマンド
-マクロ(マクロ):コードを簡略化する方法
これは最終的なMakefileです!一つずつ開けましょうか?
トップクラスCC、CFAGS、TARGET、OBJECTSは
매크로 정의
の一部である.💡マクロ定義規則
TARGETは最終目的ファイル、OBJECTSはtargerの作成に必要な依存ファイルを表します.
ここでは特別な記号が目立ちます.
$@、$^これらは
내부 매크로
と呼ばれています.💡内部マクロ
Reference
この問題について(Makefile), 我々は、より多くの情報をここで見つけました https://velog.io/@leocodms/Makefileテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol