Makefileを作ってmakeしてみた
(ちなみに私の使っているCentOS5は
"GNU make" というやつとのこと。よくわからない!)
▼Makefileの文法
--------------------------------------------------
ターゲットのファイル: ターゲットファイルに依存するファイル
実行内容
--------------------------------------------------
※実行内容の前の空白はかならずtabを使うこと!(鉄則)
と書いてもよくわからないので
例えば!
"testfile"というファイルに何らかの更新があると、
"hogehoge"というファイルの一番下に"sunny"という文字列を追記!
↓
↓
▼Makefile
-----------------------------------------
hogehoge: testfile
echo "sunny" >> hogehoge
-----------------------------------------
▼実行!
-----------------------------------------------------------------------------
# ls -l
total 12
-rw-r--r-- 1 root root 46 Jan 8 16:00 Makefile
-rw-r--r-- 1 root root 8 Jan 8 16:15 hogehoge
-rw-r--r-- 1 root root 9 Jan 8 16:15 testfile
# cat Makefile
hogehoge: testfile
echo "sunny" >> hogehoge
# cat hogehoge
Hello!!
# cat testfile
testtest
# vi testfile
(vi コマンドの編集作業で"testfile"に更新がかかる)
# cat testfile
testtesttest
# ls -l
total 12
-rw-r--r-- 1 root root 46 Jan 8 16:00 Makefile
-rw-r--r-- 1 root root 8 Jan 8 16:15 hogehoge
-rw-r--r-- 1 root root 13 Jan 8 16:16 testfile
# make
echo "sunny" >> hogehoge
# cat hogehoge
Hello!!
sunny
# ls -l
total 12
-rw-r--r-- 1 root root 46 Jan 8 16:00 Makefile
-rw-r--r-- 1 root root 14 Jan 8 16:17 hogehoge
-rw-r--r-- 1 root root 13 Jan 8 16:16 testfile
# make
make: `hogehoge' is up to date.
("hogehoge"のタイムスタンプが更新され,”hogehoge”の方が
"testfile"よりも新しいので"hogehoge' is up to date.(すでに更新済です)"とでる)
-----------------------------------------------------------------------------
おっけーい。
ちなみにtouchコマンドでhogehogeのタイムスタンプを
むりやり"testfile"より前にしたらmakeできた!
やはりタイムスタンプをみているもよう
♪〜