makefile
3391 ワード
make & Makefile
makeはファイル管理ユーティリティです.
ファイル間の依存関係を特定し、makefile(技術ファイル)の説明に従ってコンパイラでSHELLコマンドを順番に実行できるようにコマンドを発行します.
なぜmakefileを使うのか
各ファイルの繰り返しコマンドを自動化することで、
makefileの構成
ターゲットファイル(Target):コマンド実行結果を保存するファイル
依存性:ターゲットファイルの作成に必要な材料
コマンド(Command):実行するコマンド
マクロ(macro):コードを簡略化する方法
makefile作成ルール
1.マクロ定義をmakefileで定義した文字列に変換します.
2.命令語の先頭は「tab」で始まる必要があります.
3.依存性のないターゲットでも商用化が可能です.
Makefile練習
[source code]
// ./include/configs.h
#define CONFIG
// main.c
#include <stdio.h>
#include "configs.h" // option -I
int main() {
#if defined(CONFIG) // macro
printf("Hello World\n");
#else
printf("Bye World\n");
#endif
return 0;
}
[makefile][result]
$ make
1.テスト対象コマンドをすべての対象の依存項目として実行
2.cleanターゲットコマンドの実行
3.マクロで定義されている&{TARGET}、すなわちmain.o運転目標
4.allのすべての依存項目を準備した後、allコマンドを実行する
[TIP!]
makefileの作成中に、内部マクロを使用してコードを簡略化できます.
1.$@:現在のターゲットの名前
2.$^:現在のターゲットの依存リスト
example)
Reference)
Reference
この問題について(makefile), 我々は、より多くの情報をここで見つけました https://velog.io/@dhwltnoooh/makefileテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol