🍣でmakeの挙動を雑に説明
昨日は、絵文字をmake
とMakefile
で使えることを発見したので色々遊んでいた。
make
はCやC++のソースの処理に使うものというのが一般的な認識なのだが、シェルスクリプトのように使うこともできる。例えば、
sushi: 🐟
echo 寿司が作れる
🐟:
echo 魚を仕入れる
というmakeファイルをMakefile
という名前で作り、そのディレクトリでmake
と打つと
$ make sushi
echo 魚を仕入れる
魚を仕入れる
echo 寿司が作れる
寿司が作れる
というような出力が得られる。Makefile
の1行目のsushi: 🐟
は、
- 右下に記述された処理(ここでは1行だがタブでインデントして何行でも書ける)にsushiという名前がついていること
- sushiの実行には🐟が必要であること
を意味している。「🐟」という処理は🐟:
以下に書いてある。sushiには🐟が必要なので、make
は🐟以下の処理から先に始め、その次にsushiの処理を実行するので上のような出力が得られる。
ということで、Makefile
に「xの処理にはyが必要」というルールを記述すると、それにしたがって動くコマンド操作を記述することができる。これが、「xxx.oを作るにはxxx.cが必要」というようなルールを記述する時に便利なので、make
がビルドに使われる。
ちなみに、上記の例では「寿司を作るのにご飯がない」という致命的な間違いを犯している。正しくは、次のツイートのようにご飯を作るためのルール、そして魚がどのように育つかというルールを追加する必要がある。
すると、make
は次のように、寿司が💩から作られることを、なんのためらいもなく理路整然と説明する。ここで-s
は処理の手順の出力を省き、結果だけを出力するためのオプションである。
なお、🍣から💩を作るプロセスをMakefile
に書いてしまうと、おそらくエラーが出てしまう。輪廻を表現できるような拡張が、今後、必要と考えられる。
繰り返しになるが、🍣は💩からできている。大自然に感謝の念しかない。
以上。
Article Info
created: 2018年 3月 3日 土曜日 11:19:49 JST
modified: 2018年 3月 3日 土曜日 15:30:42 JST
views: 918
keywords: 頭の中だだ漏らし
どうでもよい
make
prev:雑記(2018年2月22日) next:🍣でmakeの挙動を雑に説明