[memo][プログラミング] makeについて調べてみた
C言語プログラミングでお世話になる”make”。よく分かっていないので調べてみました。
makeはC言語だけの機能ではない
Wikipediaによれば、「プログラムのビルド作業を自動化するツール」とある。該当環境で利用出来るコマンドであれば、その自動化に取り入れられるようです。
必要最低限のファイルのみ更新する
Wikipediaによれば、「Aというファイルを処理してBというファイルを生成するとき、タイムスタンプを参照し、AがBより新しいときのみ更新作業に入る」とあります。
確かによく分からないままmakeコマンド使う時がありまして、うまく動いてくれなくて頭を悩ませた事がありました。タイムスタンプに依存するという癖があるのですね。
Hello World的なmakefileの使い方
--makefile書式-----
生成物:使用ソース
(tab)実行コマンド
-------------------
$ cat hello_world.c
#include
main(){
printf("Hello World\n");
return 0;
}
$ cat makefile
hello_world_c:hello_world.c
gcc hello_world.c -o hello_world_c
$ make
gcc hello_world.c -o hello_world_c
$ ./hello_world_c
Hello World