makeを使ってPerlを実行してみる

個人的な用途としては、PerlのXSなんだけど、
他にもいろいろ使えるようなので、とりあえず入門してみた。

まず、フォルダ構成はこんな感じ。

.
├── Makefile
└── aaa.pl

“Makefile”の中身。
※これをコピペする場合は、インデントをタブで置き換える必要がある

SCRIPTS = aaa.pl

foo.txt : ${SCRIPTS}
	perl ${SCRIPTS} > $@

clean :
	rm foo.txt

“aaa.pl”の中身。

use strict;
use warnings;
use v5.10;

say 'foo!';

実行すると、こんな感じ。
$ perl aaa.pl
foo!

で、結局、何が便利かというと、こんな感じ。
$ ls
Makefile aaa.pl
$ make
perl aaa.pl > foo.txt
$ cat foo.txt
foo!
$ make
make: `foo.txt' is up to date.
$ make clean
rm foo.txt
$ ls
Makefile aaa.pl

“Makefile”の書き方は、まだよく分かってないけど、
こんな感じで便利なのは分かった。
あと、ハマりどころして、”Makefile”のインデントはタブじゃなきゃいけない。
正確に表現すると、「すべてのコマンド行をタブではじめなければならない」。(*1)
なので、タブと半角スペースの区別ができるエディタを用意して、
“Makefile”を編集するのが良いと思う。

おしまい。

(*1) make 改訂版(AMAZON)のp.7より引用。

Leave a Comment