Next: , Up: Not Enough   [Contents][Index]


22.1 Automake¥ë¡¼¥ë¤Î³ÈÄ¥

(_PROGRAMS¤Î¤è¤¦¤ÊÊÑ¿ô¤Ï$(EXEEXT)¤¬Äɲäµ¤ì¤Æ½ñ¤­Ä¾¤µ¤ì ¤ë¤È¤¤¤Ã¤¿)¤ï¤º¤«¤ÊÎã³°¤Ï¤¢¤ê¤Þ¤¹¤¬¡¤Makefile.am¤ÎÆâÍÆ¤Ï Makefile.in¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥

¤³¤ì¤é¤Î¥³¥Ô¡¼¤Î°ÕÌ£¤Ï¡¤Ã±½ã¤Ë¤¤¤¯¤Ä¤«¤ÎmakeÊÑ¿ô¤È¥ë¡¼¥ë¤ò Makefile.am¤ËÄɲ乤뤳¤È¤Ç¡¤Â¿¤¯¤ÎÌäÂ꤬²ò·è²Äǽ¤À¤È¤¤¤¦¤³¤È¤ò °ÕÌ£¤·¤Þ¤¹¡¥Automake¤Ï¤³¤ì¤é¤ÎÄɲäò̵»ë¤·¤Þ¤¹¡¥

Makefile.in¤Ï¡¤»°¤Ä¤Î°Û¤Ê¤ë¾ì½ê(Makefile.am¡¤ configure.ac¡¤¤½¤·¤Æautomake¼«¿È)¤«¤é¥Ç¡¼¥¿¤ò½¸¤á¤Æ¥Ó ¥ë¥É¤µ¤ì¤ë¤Î¤Ç¡¤¥ë¡¼¥ë¤äÊÑ¿ô¤ÎÄêµÁ¤¬¾×ÆÍ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡¥ Makefile.in¤ò¥Ó¥ë¥É¤¹¤ë¤È¤­¡¤¥æ¡¼¥¶¤¬ºÇ¸å¤Îñ¸ì¤òÍøÍѤ¹¤ë¤³¤È¤ò Êݾڤ¹¤ë¤¿¤á¤Ë¡¤automake¤Ë´ØÏ¢¤¹¤ëÍ¥Àè½ç°Ì¤Ë½¾¤¤¤Þ¤¹¡¥ Makefile.am¤Ç¥æ¡¼¥¶¤¬ÄêµÁ¤·¤¿ÊÑ¿ô¤Ï¡¤configure.ac¤Ç AC_SUBST¤·¤¿ÊÑ¿ô¤è¤êÍ¥À褵¤ì¡¤AC_SUBST¤µ¤ì¤¿ÊÑ¿ô¤Ï automake¤¬ÄêµÁ¤·¤¿ÊÑ¿ô¤è¤êÍ¥À褵¤ì¤Þ¤¹¡¥Æ±Íͤ˥롼¥ë¤â´ØÏ¢¤· ¤Æ¡¤¥æ¡¼¥¶ÄêµÁ¤Î¥ë¡¼¥ë¤Ïautomake¤¬ÄêµÁ¤·¤¿Æ±¤¸¥¿¡¼¥²¥Ã¥È¤ËÂÐ ¤¹¤ë¥ë¡¼¥ë¤ËÍ¥À褵¤ì¤Þ¤¹¡¥

¤³¤ì¤é¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Î°ÕÌ£¤Ï¡¤Automake¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ò¤¦¤Þ¤¯Ä´À° ¤·¤¿¤ê¡¤¤½¤Î¥ë¡¼¥ë¤òÃÖ´¹¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡¥Automake¤Î¥ë¡¼¥ë¤ò¥ª¡¼ ¥Ð¡¼¥é¥¤¥É¤¹¤ë¤³¤È¤Ï¤¢¤Þ¤ê´«¤á¤é¤ì¤º¡¤ÆÃ¤Ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ë¥Ñ¥Ã¥±¡¼ ¥¸¤ÎºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤½¤¦¤Ç¤¹¡¥-Woverride¥ª¥×¥·¥ç¥ó (see Invoking Automake)¤Ç¡¤¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ëÄêµÁ¤¬´Êñ¤ËÊᤨ ¤é¤ì¤Þ¤¹¡¥

Automake¤Ë¤Ï¡¤¥³¥Þ¥ó¥É¤òÍѤ¤¤¿¥ë¡¼¥ë¤È°Í¸À­¤ò»ØÄꤹ¤ë¤À¤±¤Î¥ë¡¼¥ë¤Ëº¹ °Û¤¬¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡¥automake¤¬ÄêµÁ¤·¤¿¥¿¡¼¥²¥Ã¥È¤Ë¡¤ ¥ë¡¼¥ëÁ´ÂΤòÄêµÁ¤¹¤ë¤³¤È¤Ê¤¯¿·¤·¤¤°Í¸À­¤òÄɲ乤뤳¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡¥

¤·¤«¤·¡¤ÍÍ¡¹¤ÊÍ­ÍѤʥ¿¡¼¥²¥Ã¥È¤Ë¤Ï¡¤Makefile.in¤Ç»ØÄê²Äǽ¤Ê¡¤ ‘-local’¥Ð¡¼¥¸¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡¥Automake¤Ï¤³¤ì¤é¤Î¥æ¡¼¥¶¤¬Ä󶡤¹¤ë ¥¿¡¼¥²¥Ã¥È¤òÍѤ¤¤ÆÉ¸½à¥¿¡¼¥²¥Ã¥È¤òÊä­¤·¤Þ¤¹¡¥

¥í¡¼¥«¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥¿¡¼¥²¥Ã¥È¤Ï¡¤all¡¤info¡¤ dvi¡¤ps¡¤pdf¡¤html¡¤check¡¤ install-data¡¤ install-exec¡¤uninstall¡¤ installdirs¡¤installcheck¡¤¤½¤·¤ÆÍÍ¡¹¤Êclean¥¿¡¼ ¥²¥Ã¥È(mostlyclean¡¤clean¡¤distclean¡¤¤½¤·¤Æ maintainer-clean)¤Ç¤¹¡¥uninstall-exec-local¤ä uninstall-data-local¥¿¡¼¥²¥Ã¥È¤¬Ìµ¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥ uninstall-local¤À¤±¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥¥Ç¡¼¥¿¤À¤±¡¤¤¢¤ë¤¤¤Ï¼Â¹Ô ²Äǽ¥×¥í¥°¥é¥à¤À¤±¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡¥

Î㤨¤Ð¡¤¥Õ¥¡¥¤¥ë¤ò/etc¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë°ì¤Ä¤ÎÊýË¡¤Ï¡¤°Ê²¼¤Î¤è ¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥

install-data-local:
        $(INSTALL_DATA) $(srcdir)/afile $(DESTDIR)/etc/afile

¥ë¡¼¥ë¤Ë¤Ï¡¤hook¤È¸Æ¤Ð¤ì¤ë¡¤¤½¤Î»Å»ö¤¬½ª¤Ã¤¿¸å¤Ë¤â¤¦°ì¤Ä¤Î¥ë¡¼¥ë ¤ò¼Â¹Ô¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡¥¥Õ¥Ã¥¯¤Ï¡¤¼çÍפʥ¿¡¼¥²¥Ã¥È¤Ë‘-hook’ ¤ò Äɲä·¤ÆÌ¿Ì¾¤·¤Þ¤¹¡¥¥Õ¥Ã¥¯¤¬²Äǽ¤Ê¥¿¡¼¥²¥Ã¥È¤Ï¡¤install-data¡¤ install-exec¡¤uninstall¡¤dist¡¤¤½¤·¤Æ distcheck¤Ç¤¹¡¥

Î㤨¤Ð¡¤¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥×¥í¥°¥é¥à¤Ë¥Ï¡¼¥É¥ê¥ó¥¯¤òºîÀ®¤¹¤ëÊýË¡¤Ï¡¤°Ê²¼ ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥

install-exec-hook:
        ln $(DESTDIR)$(bindir)/program$(EXEEXT) \
           $(DESTDIR)$(bindir)/proglink$(EXEEXT)

°Â¤Ã¤Ý¤¤¤±¤ì¤É¡¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤è¤ê°Ü¿¢À­¤Î¹â¤¤¥Ï¡¼¥É¥ê¥ó¥¯¤Ï¡¤¤É¤³ ¤Ç¤Ç¤âưºî¤¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó(Î㤨¤Ð¡¤OS/2¤Ë¤Ïln¤¬¤¢¤ê¤Þ ¤»¤ó)¡¥ÍýÁۤȤ·¤Æ¤Ï¡¤ln¤¬Æ°ºî¤·¤Ê¤¤¤È¤­¤Ïcp -p¤ËµÕÌá¤ê¤¹ ¤Ù¤­¤Ç¤¹¡¥´Êñ¤ÊÊýË¡¤Ï¡¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¼õ¤±Æþ¤ì¤ë¾ì¹ç¡¤ configure.ac¤ËAC_PROG_LN_S¤òÄɲä·(see Particular Program Checks in The Autoconf Manual)¡¤ Makefile.am¤Ç$(LN_S)¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤¡¥

Î㤨¤Ð¡¤°Ê²¼¤Ç¤Ï¡¤$(LN_S)¤òÍѤ¤¤Æ¥×¥í¥°¥é¥à¤Î¥³¥Ô¡¼¥Ð¡¼¥¸¥ç¥ó¤Î ¥¤¥ó¥¹¥È¡¼¥ë¤ò²Äǽ¤Ë¤¹¤ëÊýË¡¤Ç¤¹¡¥

install-exec-hook:
        cd $(DESTDIR)$(bindir) && \
          mv -f prog$(EXEEXT) prog-$(VERSION)$(EXEEXT) && \
          $(LN_S) prog-$(VERSION)$(EXEEXT) prog$(EXEEXT)

²æ¡¹¤Ï¡¤¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òºï½ü¤·¡¤ËÜÅö¤Î¥Ð¥¤¥Ê¥ê¤ò ºï½ü¤·¤Ê¤¤¤è¤¦¤Ë¡¤¥×¥í¥°¥é¥à¤Î̾Á°¤òÊѹ¹¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡¥ ¤Þ¤¿¡¤²æ¡¹¤Ï¡¤ÁêÂÐ¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤¿¤á¡¤¥³¥Ô¡¼Àè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë cd¤·¤Æ¤¤¤Þ¤¹¡¥