Next: , Previous: Makefile Basics, Up: Makefile Conventions   [Contents]


7.2.2 Makefile¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£

Makefile¤Î¥³¥Þ¥ó¥É(¤½¤·¤Æconfigure¤Î¤è¤¦¤Ê¥·¥§¥ë¡¦¥¹¥¯¥ê¥×¥È)¤ò¡¢ csh¤Ç¤Ï¤Ê¤¯¡¢sh¤ÇÁö¤ë¤è¤¦¤Ë½ñ¤­¤Ê¤µ¤¤¡£ksh¤ä bash¤ÎÆÃÊ̤ʵ¡Ç½¤ò°ìÀڻȤäƤϤ¤¤±¤Ê¤¤¡£

configure¥¹¥¯¥ê¥×¥È¤È¹½Ãۤȥ¤¥ó¥¹¥È¡¼¥ë¤Î¤¿¤á¤ÎMakefile¤Îµ¬Â§¤Ï¼¡ ¤Î¤â¤Î¤ò½ü¤¤¤Æ¡¢¤É¤ó¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤âľÀܻȤ¦¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£

cat cmp cp diff echo egrep expr false grep install-info
ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true

°µ½Ì¥×¥í¥°¥é¥à¤Îgzip¤Ïdistµ¬Â§¤Ç»È¤Ã¤ÆÎɤ¤¡£

¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤ËÂФ·¤Æ¡¢°ìÈÌŪ¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤ò¼é¤ê¤Ê ¤µ¤¤¡£Î㤨¤Ð¡¢¤¢¤Ã¤¿¤éÊØÍø¤Ê¡¢‘mkdir -p’¤Ï¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼ ¥È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç»È¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£

¾¯¿ô¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢makefile¤Ç¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó ¥¯¤òºî¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Î¤ÏÎɤ¤¹Í¤¨¤À¡£

¹½Ãۤȥ¤¥ó¥¹¥È¡¼¥ë¤Î¤¿¤á¤ÎMakefile¤Îµ¬Â§¤Ï¤Þ¤¿¥³¥ó¥Ñ¥¤¥é¤ä´ØÏ¢¤·¤¿¥×¥í¥° ¥é¥à¤ò»È¤Ã¤Æ¤¤¤¤¤¬¡¢¥æ¡¼¥¶¤¬Âå¤ï¤ê¤Î¤â¤Î¤È´¹¤¨¤é¤ì¤ë¤è¤¦¤ËmakeÊÑ ¿ô¤òÄ̤·¤Æ»È¤¦¤Ù¤­¤À¡£²æ¡¹¤¬¸À¤Ã¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤ò¤³¤³¤Ç¤¤¤¯¤Ä¤«µó¤²¤ë¡£

ar bison cc flex install ld ldconfig lex
make makeinfo ranlib texi2dvi yacc

¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤òÁö¤é¤»¤ë¤Î¤Ë¼¡¤ÎmakeÊÑ¿ô¤ò»È¤¤¤Ê¤µ¤¤¡£

$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)

ranlib¤äldconfig¤ò»È¤¦¤È¤­¡¢¥·¥¹¥Æ¥à¤¬Åö¤Î¥×¥í¥°¥é¥à¤ò»ý¤Ã ¤Æ¤¤¤Ê¤¯¤Æ¤â°­¤¤¤³¤È¤¬²¿¤âµ¯¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤À¡£¤½¤Î¥³¥Þ¥ó¥É¤«¤é¤Î¥¨ ¥é¡¼¤ò̵»ë¤¹¤ë¤è¤¦¤ËÄ´À°¤·¡¢¤½¤Î¥³¥Þ¥ó¥É¤ÎÁ°¤Ë¥æ¡¼¥¶¤Ë¤³¤Î¥³¥Þ¥ó¥É¤Î¼ºÇÔ ¤¬ÌäÂê¤Ç¤Ï¤Ê¤¤¤³¤È¤òÅÁ¤¨¤ë¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Ê¤µ¤¤¡£(Autoconf¤Î ‘AC_PROG_RANLIB’¥Þ¥¯¥í¤Ï¤³¤ì¤ò½õ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£)

¤â¤·¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤ò»È¤¦¤Ê¤é¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤ò»ý¤¿¤Ê¤¤¥·¥¹¥Æ ¥àÍѤËÊ̼êÃʤò¼ÂÁõ¤¹¤ë¤Ù¤­¤À¡£

MakeÊÑ¿ô¤òÄ̤·¤Æ»È¤Ã¤ÆÎɤ¤Ê̤Υ桼¥Æ¥£¥ê¥Æ¥£¤Ë¤Ï¼¡¤Î¤â¤Î¤¬¤¢¤ë¡£

chgrp chmod chown mknod

¾¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¦¤³¤È¤Ï¡¢¤¢¤Ê¤¿¤¬¤½¤ì¤é¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬Â¸ºß¤¹¤ë ¤ÈÃΤäƤ¤¤ëÆÃÄê¤Î¥·¥¹¥Æ¥à¤Î¤¿¤á¤À¤±¤Ë¡¢Makefile¤Î°ìÉô(¤ä¥¹¥¯¥ê¥×¥È)¤¬°Õ ¿Þ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é»È¤Ã¤ÆÎɤ¤¡£