Next: , Up: Other objects   [Contents][Index]


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

¥¹¥¯¥ê¥×¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ïbindir¡¤sbindir¡¤ libexecdir¡¤¤Þ¤¿¤Ïpkgdatadir¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬²Äǽ ¤Ç¤¹¡¥

¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬Ìµ¤¤¥¹¥¯¥ê¥×¥È¤Ïnoinst_SCRIPTS¤Ë¥ê¥¹¥È¥¢¥Ã ¥×¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¡¤¤½¤ÎÃæ¤Çmake check¤À¤±¤ÇɬÍפʤâ¤Î¤Ï check_SCRIPTS¤Ë½ñ¤¯¤Ù¤­¤Ç¤¹¡¥