Next: , Up: The GNU Build System   [Contents][Index]


2.1 Automake

make¤ÎÊкߤȤϡ¤Makefile¤Ï¥½¥Õ¥È¥¦¥§¥¢¤Î¼«Æ°Åª¤Ê¥Ó¥ë¥É ¥ë¡¼¥ë¤òÇÛÉÛ¤¹¤ë¤Û¤È¤ó¤ÉÍ£°ì¤Î¸½¼ÂŪ¤ÊÊýË¡¤À¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤Î¤Ç ¤¹¤¬¡¤¤¹¤°¤Ëmake¤Î¿¤¯¤Î¸Â³¦¤Ë¤Ö¤Ä¤«¤ê¤Þ¤¹¡¥¤½¤ì¤Ë¤Ï¡¤¼«Æ°Åª¤Ê °Í¸À­¤ÎÄÉÀפËÂФ¹¤ë¥µ¥Ý¡¼¥È¡¤¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤ÎºÆµ¢Åª¤Ê¥Ó¥ë¥É¡¤(Î㤨 ¤Ð¡¤¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂФ¹¤ë)¿®Íê¤Ç¤­¤ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤Ê¤É¤¬ ­¤ê¤Ê¤¤¤Î¤Ç¡¤³«È¯¼Ô¤Ï¤½¤ì¤¾¤ì¤Î¥×¥í¥¸¥§¥¯¥È¤ËÂФ·¡¤¿É¤¤(¤½¤·¤Æ´Ö°ã¤¦¤³ ¤È¤¬Â¿¤¤)¼ÖÎØ¤ÎºÆ³«È¯¤¬É¬ÍפˤʤäƤ¤¤Þ¤¹¡¥Â¿¤¯¤Î¥·¥¹¥Æ¥à¤Î make¤ÎÊʤΤ¿¤á¤Ë¡¤°Ü¿¢À­¤Ïº³ºÙ¤ÊÌäÂê¤Ç¤Ï¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥¤Ê¤Ë ¤è¤ê¤â¡¤¥æ¡¼¥¶¤¬´üÂÔ¤¹¤ë¿¤¯¤Îɸ½àŪ¤Ê¥¿¡¼¥²¥Ã¥È(make install¡¤ make distclean¡¤make uninstall¤Ê¤É)¤ò¼êºî¶È¤Ç¼ÂÁõ¤¹¤ëɬÍ× ¤¬¤¢¤ë¤³¤È¤¬¤¢¤²¤é¤ì¤Þ¤¹¡¥¤â¤Á¤í¤ó¡¤Autoconf¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¤ @CC@¡¤@CFLAGS@¡¤¤½¤·¤Æconfigure¤ÇÄ󶡤µ¤ì¤ë ¤½¤Î¾¤ÎÃÖ´¹¼°¤òǧ¼±¤¹¤ë¤è¤¦¤Ë¡¤Makefile.in¤ËÂбþ¤¹¤ë¥³¡¼¥É¤òÁÞÆþ ¤·¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡¥¤³¤ÎÍ𻨤ʾõ¶·¤ÏAutomake¤Ç½èÍý¤·¤Þ¤·¤ç¤¦¡¥

Automake¤Ï¡¤¥×¥ì¡¼¥ó¤ÎMakefile¤ÎÊýË¡¤ÈÈæ³Ó¤·¤Æ¡¤Èó¾ï¤Ë´Êñ¤Ç¤è¤ê ¶¯ÎϤʹ½Ê¸¤Ç¡¤¥Ó¥ë¥É¤¬É¬ÍפȤ¹¤ë¤â¤Î¤òMakefile.am¥Õ¥¡¥¤¥ë¤Ç»ØÄꤹ ¤ë¤³¤È¤ò²Äǽ¤È¤·¡¤Autoconf¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Î°Ü¿¢À­¤Î¹â¤¤Makefile.in ¤òÀ¸À®¤·¤Þ¤¹¡¥Î㤨¤Ð¡¤Ã±½ã¤Ê“Hello world”¥×¥í¥°¥é¥à¤ò¥Ó¥ë¥É¤·¥¤¥ó¥¹¥È¡¼ ¥ë¤¹¤ë¤¿¤á¤ÎMakefile.am¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥

bin_PROGRAMS = hello
hello_SOURCES = hello.c

·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ëMakefile.in(Ìó400¹Ô)¤Ï¡¤¼«Æ°Åª¤Ë¡¤¤¹¤Ù¤Æ¤Îɸ½à Ū¤Ê¥¿¡¼¥²¥Ã¥È¡¤Autoconf¤¬Ä󶡤¹¤ëÃÖ´¹¼°¡¤¼«Æ°Åª¤Ê°Í¸À­ÄÉÀס¤ VPATH¤Î¥Ó¥ë¥É¤Ê¤É¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡¥make¤Çhello ¥×¥í¥°¥é¥à¤ò¥Ó¥ë¥É¤·¡¤make install¤Ç¤½¤ì¤ò/usr/local/bin (¤Þ¤¿¤Ï/usr/local¤Ç¤Ê¤¤¤È¤­¤Ïconfigure¤ÇÍ¿¤¨¤¿¥×¥ì¥Õ¥£ ¥¯¥¹)¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡¥

Automake¤ÎÍøÅÀ¤Ï¡¤¥Ñ¥Ã¥±¡¼¥¸¤¬Â礭¤±¤ì¤ÐÂ礭¤¤(ÆÃ¤Ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢ ¤ë¤â¤Î)¤Û¤ÉÍ­Íø¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¤¾®¤µ¤Ê¥×¥í¥°¥é¥à¤ËÂФ·¤Æ¤â½ÅÍפÊÍøÊØÀ­¤È°Ü ¿¢À­¤òÄɲä·¤Þ¤¹¡¥¤½¤·¤Æ¡¤¤½¤ì¤À¤±¤¬¤¹¤Ù¤Æ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó...