Next: , Previous: Strictness, Up: Generalities   [Contents][Index]


2.3 °ìÍͤÊ̿̾ˡ

AutomakeÊÑ¿ô¤Ï¡¤°ìÈ̤˰ʲ¼¤Î°ìÍͤÊ̿̾ˡ(uniform naming scheme) ¤Ë½¾¤Ã¤Æ¤¤¤Æ¡¤¤½¤ì¤Ï¡¤¥×¥í¥°¥é¥à(¤È¤½¤Î¾¤ÎÇÉÀ¸¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È)¤Î¥Ó ¥ë¥ÉÊýË¡¤È¡¤¤½¤ì¤é¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Î·èÄê¤òÍÆ°×¤Ë¤·¤Þ¤¹¡¥¤³¤Î¼êË¡¤Ï¡¤ configure»þ¤Ë¥Ó¥ë¥É¤¹¤ë¤â¤Î¤ò·èÄꤹ¤ë¤³¤È¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡¥

make»þ¤Ë¥Ó¥ë¥É¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò·èÄꤹ¤ë¤¿¤á¡¤ÆÃÄê¤ÎÊÑ¿ô¤ò»ÈÍÑ ¤·¤Þ¤¹¡¥ÊÑ¿ô¤Î̾Á°¤Ï¡¤¤¤¤¯¤Ä¤«¤ÎÉôÉʤò¤ª¸ß¤¤¤ËÏ¢·ë¤·¤¿¤â¤Î¤«¤é¤Ç¤­¤Æ¤¤ ¤Þ¤¹¡¥

¥Ó¥ë¥É¤¹¤ë¤â¤Î¤òautomake¤ËÅÁ¤¨¤ëÉôÉʤϡ¤°ìÈ̤˥ץ饤¥Þ¥ê¤È¸Æ¤Ð¤ì ¤Æ¤¤¤Þ¤¹¡¥Î㤨¤Ð¡¤¥×¥é¥¤¥Þ¥ê¤ÎPROGRAMS¤Ï¡¤¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¥ê¥ó¥¯ ¤µ¤ì¤ë¥×¥í¥°¥é¥à¤Î¥ê¥¹¥È¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡¥

¥Ó¥ë¥É¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì½ê¤ò·èÄꤹ¤ë¤¿¤á¡¤°Û¤Ê¤ë̾Á° ¤ÎÁȤ¬»ÈÍѤµ¤ì¤Þ¤¹¡¥¤³¤ì¤é¤Î̾Á°¤Ï¥×¥é¥¤¥Þ¥ê¤ËÁ°ÃÖ¤µ¤ì¤Æ¤¤¤Æ¡¤¤½¤ì¤Ï¥¤ ¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤È¤·¤Æ»ÈÍѤµ¤ì¤ëɸ½àŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤ò¼¨¤·¤Æ ¤¤¤Þ¤¹¡¥É¸½àŪ¤Ê¥Ç¥£¥ì¥¯¥È¥ê̾¤ÏGNU¤Îɸ½à¤ÇÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹ (see Directory Variables in The GNU Coding Standards)¡¥ Automake¤Ï¡¤pkglibdir¡¤pkgincludedir¡¤¤½¤·¤Æ pkgdatadir¤òÍѤ¤¤Æ¡¤¤³¤Î¥ê¥¹¥È¤ò³ÈÄ¥¤·¤Þ¤¹¡¥¤³¤ì¤é¤ÏÈó ‘pkg’¤Î¥Ð¡¼¥¸¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¤¬¡¤‘$(PACKAGE)’¤¬Éղ䵤ì¤Þ¤¹¡¥ Î㤨¤Ð¡¤pkglibdir¤Ï$(libdir)/$(PACKAGE)¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ ¤¹¡¥

¤½¤ì¤¾¤ì¤Î¥×¥é¥¤¥Þ¥ê¤ËÂФ·¤Æ¡¤‘EXTRA_’¤ò¥×¥é¥¤¥Þ¥ê̾¤ËÁ°ÃÖ¤·¤ÆÌ¿ ̾¤µ¤ì¤¿ÄɲäÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤Ï¡¤¥Ó¥ë¥É¤µ¤ì¤¿¤ê¤µ¤ì¤Ê¤«¤Ã¤¿¤ê ¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤Ç»ÈÍѤµ¤ì¡¤¤½¤ì¤Ï¡¤ configure¤¬·èÄꤷ¤¿¤â¤Î¤Ë°Í¸¤·¤Þ¤¹¡¥Automake¤Ï¡¤¤¹¤Ù¤Æ¤Î¾õ¶·¤Ç ưºî¤¹¤ëMakefile.in¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¤¥Ó¥ë¥É¤µ¤ì¤ë²ÄǽÀ­¤Î¤¢¤ë¥ª ¥Ö¥¸¥§¥¯¥ÈÁ´ÂΤΥꥹ¥È¤ò¤¢¤é¤«¤¸¤áÃΤäƤª¤¯É¬Íפ¬¤¢¤ë¤Î¤Ç¡¤¤³¤ÎÊÑ¿ô¤¬ ɬÍפˤʤê¤Þ¤¹¡¥

Î㤨¤Ð¡¤cpio¤Ïconfigure»þ¤Ë¥Ó¥ë¥É¤¹¤ë¥×¥í¥°¥é¥à¤ò·èÄꤷ¤Þ¤¹¡¥ bindir¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥×¥í¥°¥é¥à¤â¤¢¤ì¤Ð¡¤sbindir¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡¥

EXTRA_PROGRAMS = mt rmt
bin_PROGRAMS = cpio pax
sbin_PROGRAMS = $(MORE_PROGRAMS)

ÀÜÆ¬¼­¤¬¤Ê¤¤¥×¥é¥¤¥Þ¥ê¤òÊÑ¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¤³¤È¡¤Î㤨¤ÐPROGRAMS ¤Ï¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡¥

°ìÈÌŪ¤Ê‘dir’ÀÜÈø¼­¤Ï¡¤ÊÑ¿ô̾¤òºî¤ë¤È¤­¤Ë¤Ï¼Î¤Æ¤é¤ì¤ë¤³¤È¤ËÃí°Õ¤· ¤Æ²¼¤µ¤¤¡¥¤³¤Î¤¿¤á¡¤‘bindir_PROGRAMS’¤Ç¤Ï¤Ê¤¯¡¤ ‘bin_PROGRAMS’¤È½ñ¤­¤Þ¤¹¡¥

¤¹¤Ù¤Æ¤Î¼ïÎà¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬¡¤¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë ¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥Automake¤Ï¥¨¥é¡¼¤ò¸«¤Ä¤±¤¿¤È¤­¡¤¥Õ¥é¥°¤òÉÕ¤±¤è¤¦¤È ¤·¤Þ¤¹¡¥Automake¤Ï¥Ç¥£¥ì¥¯¥È¥ê̾¤Ç¤ÎÌÀ¤é¤«¤Ê¥¹¥Ú¥ë¥ß¥¹¤â¿ÇÃǤ·¤Þ¤¹¡¥

ɸ½à¥Ç¥£¥ì¥¯¥È¥ê¤Ï — Automake¤Ë¤è¤Ã¤Æ¶¯²½¤µ¤ì¤Æ¤Ï¤¤¤Þ¤¹¤¬ — ½½Ê¬¤Ç ¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡¥ÆÃ¤Ë¡¤Á°¤â¤Ã¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£ ¥ì¥¯¥È¥ê¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤ÈÌò¤ËΩ¤Ä¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥¤³¤Î ¤¿¤á¡¤Automake¤Ï¥¤¥ó¥¹¥È¡¼¥ë²Äǽ¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ê¥¹¥È¤ò³ÈÄ¥¤¹¤ë¤³¤È¤ò ²Äǽ¤Ë¤·¤Þ¤¹¡¥Í¿¤¨¤é¤ì¤Æ¤¤¤ëÀÜÆ¬¼­(Î㤨¤Ð‘zar’)¤Ï¡¤Æ±¤¸Ì¾Á°¤ÎÊÑ¿ô ¤Ë‘dir’¤òÉղä·¤¿ÊÑ¿ô(Î㤨¤Ðzardir)¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë Í­¸ú¤Ç¤¹¡¥

Î㤨¤Ð¡¤HTML¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÏAutomake¤Î°ìÉô¤Ç¤¹¤¬¡¤°Ê²¼¤Î¤è¤¦¤Ë ¤·¤ÆÀ¸¤ÎHTML¥É¥­¥å¥á¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë²Äǽ¤Ç¤¹¡¥

htmldir = $(prefix)/html
html_DATA = automake.html

ÆÃÊ̤ÊÀÜÆ¬¼­‘noinst’¤Ï¡¤³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ó¥ë¥É¤·¥¤¥ó¥¹¥È¡¼ ¥ë¤Ï·è¤·¤Æ¹Ô¤Ê¤ï¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡¥¤³¤ì¤Ï¡¤¥Ñ¥Ã¥±¡¼¥¸»Ä¤ê¤Î¥Ó¥ë¥É¤Çɬ Íפʥª¥Ö¥¸¥§¥¯¥È¡¤Î㤨¤Ð¡¤¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê(see A Library)¤ä¡¤ Êä½õŪ¤Ê¥¹¥¯¥ê¥×¥È¤ËÂФ·¤ÆÍ­¸ú¤Ç¤¹¡¥

ÆÃÊ̤ÊÀÜÆ¬¼­‘check’¤Ï¡¤³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬make check¥³ ¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤Þ¤Ç¥Ó¥ë¥É¤µ¤ì¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡¥¤³¤ì¤é¤Î¥ª¥Ö¥¸¥§¥¯ ¥È¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤â¤µ¤ì¤Þ¤»¤ó¡¥

¸½ºß¤Î¥×¥é¥¤¥Þ¥ê̾¤Ï¡¤‘PROGRAMS’¡¤‘LIBRARIES’¡¤‘LISP’¡¤ ‘PYTHON’¡¤‘JAVA’¡¤‘SCRIPTS’¡¤‘DATA’¡¤ ‘HEADERS’¡¤‘MANS’¡¤¤½¤·¤Æ‘TEXINFOS’¤Ç¤¹¡¥

automake¤Îưºî¤Î¾¤Î¦Ì̤òÀ©¸æ¤¹¤ë¡¤ÄɲäÎÀÜÆ¬¼­¤¬²Äǽ¤Ê¥×¥é¥¤ ¥Þ¥ê¤â¤¢¤ê¤Þ¤¹¡¥¸½ºßÄêµÁ¤µ¤ì¤Æ¤¤¤ëÀÜÆ¬¼­¤Ï¡¤‘dist_’¡¤ ‘nodist_’¡¤¤½¤·¤Æ‘nobase_’¤Ç¤¹¡¥¤³¤ì¤é¤ÎÀÜÆ¬¼­¤Ï¸å¤ÇÀâÌÀ¤·¤Þ ¤¹(see Program and Library Variables)¡¥