次: , 上: Other objects


8.1 実行可能なスクリプト

スクリプトのプログラムを定義しインストールすることが可能です.そのよう なプログラムは,`SCRIPTS'プライマリを使用してリストアップします. Automakeは,スクリプトに対する依存性の定義を全く行ないません. Makefile.amに適切なルールを含ませるべきでしょう. Automakeはスクリプトがオブジェクトからの派生物であると想定しません.そ のようなオブジェクトは手動で削除する必要があります(see Clean).

automakeプログラム自身は,automake.inから生成されるPerl スクリプトです.これを処理する方法は以下のようになります.

     bin_SCRIPTS = automake
     CLEANFILES = $(bin_SCRIPTS)
     
     do_subst = sed -e 's,[@]datadir[@],$(datadir),g' \
                 -e 's,[@]PERL[@],$(PERL),g' \
                 -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
                 -e 's,[@]VERSION[@],$(VERSION),g' \
                 ...
     
     automake: automake.in Makefile
             $(do_subst) < $(srcdir)/automake.in > automake
             chmod +x automake

御覧のように — スクリプトはビルド可能なので,デフォルトでは配布され ません.配布されるべきスクリプトは,他のプライマリとしてdist_プ レフィクスを使用して指定することが可能です.例えば,以下の Makefile.amでは,my_scriptを配布し$(sbindir)にイ ンストールするように宣言されています.

     dist_sbin_SCRIPTS = my_script

スクリプトオブジェクトはbindirsbindirlibexecdir,またはpkgdatadirにインストールすることが可能 です.

インストールする必要が無いスクリプトはnoinst_SCRIPTSにリストアッ プすることが可能で,その中でmake checkだけで必要なものは check_SCRIPTSに書くべきです.