»Äǰ¤Ê¤¬¤é°Ü¿¢¤¬¤½¤¦´Êñ¤Ç¤Ï¤Ê¤¯¡¢¤½¤ì¤òư¤«¤¹¤¿¤á¤Ë ¿¾¯¤ÎÊѹ¹¤¬É¬Íפˤʤë¾ì¹ç¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢ÌÏÈÏŪ¤Ê ports ¤ÎºîË¡¤Ë½¾¤¤¡¢ ¤É¤Î¤è¤¦¤ËÊѹ¹¤ò¹Ô¤Ê¤Ã¤ÆÆ°¤¯¤è¤¦¤Ë¤¹¤ë¤Î¤«¤ò ½ç¤òÄɤäÆÀâÌÀ¤·¤Þ¤¹¡£
¤Þ¤º¡¢¤¢¤Ê¤¿¤¬ port ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç make ¤È ÆþÎϤ·¤Æ¤«¤éµ¯¤³¤ë°ìÏ¢¤Î½ÐÍè»ö¤Ë¤Ä¤¤¤Æ¡¢ ½ç¤òÄɤäÆÀâÌÀ¤·¤Þ¤¹¡£ ¤³¤³¤òÆÉ¤à¤È¤¤Ë¤Ï¡¢Ê̤Υ¦¥£¥ó¥É¥¦¤Ë bsd.port.mk ¤òɽ¼¨¤·¤Æ¤ª¤¯¤È Íý²ò¤Î½õ¤±¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤·¤«¤·¡¢bsd.port.mk ¤¬²¿¤ò¤·¤Æ¤¤¤ë¤Î¤« ´°Á´¤ËÍý²ò¤Ç¤¤Ê¤¯¤Æ¤â ¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤½¤ì¤Û¤É¿¤¯¤Î¿Í¤¬Íý²ò¤·¤Æ¤¤¤ë ¤È¤¤¤¦¤ï¤±¤Ç¤Ï ¤¢¤ê¤Þ¤»¤ó¤«¤é¡Ä¡£ f(^_^;)
¤Þ¤º¡¢fetch ¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤³¤Î fetch ¥¿¡¼¥²¥Ã¥È¤Ï¡¢ ÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥«¥ë¤Î DISTDIR ¤Ë ¸ºß¤¹¤ë¤³¤È¤òÊݾڤ¹¤ëÌòÌܤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤â¤·É¬Íפʥե¡¥¤¥ë¤¬ DISTDIR ¤Ë ¸ºß¤·¤Ê¤±¤ì¤Ð¡¢fetch ¥¿¡¼¥²¥Ã¥È¤Ï Makefile ¤Ç»ØÄꤵ¤ì¤¿ MASTER_SITES Ãæ¤Î URL ¤ä¡¢ FreeBSD ¤Î¥á¥¤¥ó FTP ¥µ¥¤¥È ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ (¤³¤³¤Ë¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¤·¤Æ¡¢¤ï¤ì¤ï¤ì ports ´ÉÍý¼Ô¤¬³Îǧ¤·¤¿ ÇÛÉÛ¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹) ¤òõ¤·¤Ë¤¤¤¤Þ¤¹¡£ make ¤ò¼Â¹Ô¤¹¤ë¥Þ¥·¥ó¤¬¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë Àܳ¤µ¤ì¤Æ¤¤¤Æ¡¢ÌÜŪ¤Î¥Õ¥¡¥¤¥ë¤ò FETCH ¤Ç ¼è¤Ã¤Æ¤³¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤ò DISTDIR ¤Ë Êݸ¤·¤Þ¤¹¡£
¼¡¤Ë extract ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ï DISTDIR ¤«¤é ÇÛÉÛ¥Õ¥¡¥¤¥ë (ÉáÄÌ¤Ï gzip ¤µ¤ì¤¿ tar ¥Õ¥¡¥¤¥ë) ¤òÆÉ¤ß¹þ¤ß¡¢ ¤½¤ÎÆâÍÆ¤òºî¶È¥Ç¥£¥ì¥¯¥È¥ê WRKDIR (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï work) ¤ËŸ³«¤·¤Þ¤¹¡£
¼¡¤Ë patch ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤Þ¤º¡¢PATCHFILES ¤Ë¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤¬ »ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î¥Ñ¥Ã¥Á¤òŬÍѤ·¤Þ¤¹¡£ ¼¡¤Ë¡¢PATCHDIR ¥Ç¥£¥ì¥¯¥È¥ê (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï files ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê) ¤Ë patch-* ¤È¤¤¤¦ ̾Á°¤Î¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¢ ¤³¤ì¤é¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤ËŬÍѤ·¤Þ¤¹¡£
¼¡¤Ë configure ¥¿¡¼¥²¥Ã¥È¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï¡¢¤¤¤í¤¤¤í¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
scripts/configure ¤¬ ¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
HAS_CONFIGURE ¤Þ¤¿¤Ï GNU_CONFIGURE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ WRKSRC/configure ¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
USE_IMAKE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢ XMKMF (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï xmkmf -a) ¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
ºÇ¸å¤Ë build ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ïºî¶È¥Ç¥£¥ì¥¯¥È¥ê (WRKSRC) ¤Ë¹ß¤ê¤Æ¤¤¤¡¢ ¥Ó¥ë¥É (¥³¥ó¥Ñ¥¤¥ë) ¤ò¼Â¹Ô¤¹¤ë¤Î¤¬ÌòÌܤǤ¹¡£ USE_GMAKE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð GNU make ¤¬»ÈÍѤµ¤ì¡¢ ¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð FreeBSD ¤Î make ¤¬ »ÈÍѤµ¤ì¤Þ¤¹¡£
¾åµ¤Ï¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹¡£¤³¤ì¤Ë²Ã¤¨¤Æ pre- ²¿¤È¤«¤ä post- ²¿¤È¤«¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤òÄêµÁ¤·¤¿¤ê¡¢¤½¤Î¤è¤¦¤Ê̾Á°¤Î¥¹¥¯¥ê¥×¥È¤ò scripts ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤³¤È¤â²Äǽ¤Ç¡¢ ¤½¤ì¤¾¤ì¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ÎÁ°¤ä¸å¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢post-extract ¥¿¡¼¥²¥Ã¥È¤¬ Makefile ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¢ scripts ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë pre-build ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ post-extract ¥¿¡¼¥²¥Ã¥È¤Ï Ä̾ï¤ÎŸ³«Æ°ºî¤Î¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¡¢ pre-build ¥¹¥¯¥ê¥×¥È¤Ï ¥Ç¥Õ¥©¥ë¥È¤Î¥³¥ó¥Ñ¥¤¥ëưºî¤ÎÁ°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¼Â¹Ô¤¹¤ëưºî¤¬´Êñ¤Ç¤¢¤ì¤Ð¡¢¥¹¥¯¥ê¥×¥È¤è¤ê¤â Makefile ¤Î¥¿¡¼¥²¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬ ¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Ê¤¼¤Ê¤é¡¢¤½¤Î port ¤Ç¤Ï ¤É¤Î¤è¤¦¤ÊÈóɸ½à¤Îưºî¤¬É¬ÍפȤµ¤ì¤ë¤Î¤«¡¢ °ì²Õ½ê¤Ë¤Þ¤È¤á¤Æ½ñ¤¤¤Æ¤¢¤Ã¤¿Êý¤¬Â¾¤Î¿Í¤ËÍý²ò¤·¤ä¤¹¤¤¤«¤é¤Ç¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï bsd.port.mk ¤Î do- ²¿¤È¤«¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð port ¤òŸ³«¤¹¤ë¥³¥Þ¥ó¥É¤Ï do-extract ¥¿¡¼¥²¥Ã¥È¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¤â¤·¥Ç¥Õ¥©¥ë¥È¤Î¥¿¡¼¥²¥Ã¥È¤ËÉÔËþ¤¬¤¢¤ì¤Ð¡¢ Makefile Ãæ¤Ç do- ²¿¤È¤«¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤òºÆÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ¹¥¤¤Ê¤è¤¦¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Note: ``¥á¥¤¥ó''¤Î¥¿¡¼¥²¥Ã¥È (¤¿¤È¤¨¤Ð extract, configure¡¢¤½¤Î¾) ¤Ï¡¢ ¤¹¤Ù¤Æ¤ÎÁ°Ãʳ¬¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤«¤é¡¢ ¼ÂºÝ¤Î¥¿¡¼¥²¥Ã¥È¤ä¥¹¥¯¥ê¥×¥È¤ò¸Æ¤Ó½Ð¤¹°Ê³°¤Î¤³¤È¤Ï ¹Ô¤Ê¤¤¤Þ¤»¤ó¤·¡¢¤³¤ì¤é¤¬Êѹ¹¤µ¤ì¤ë¤³¤È¤âÁÛÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£ ¤â¤·Å¸³«¤ÎÊýË¡¤òÊѹ¹¤·¤¿¤¤¤È¤¤Ë¤Ï do-extract ¤ÎÊѹ¹¤Ë¤è¤Ã¤Æ¼Â¸½¤·¡¢ ÀäÂÐ¤Ë extract ¤Ë¤Ï ¼ê¤ò¿¨¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ç¡¢¥æ¡¼¥¶¤¬ make ¤È ÆþÎϤ·¤¿¤È¤¤Ë²¿¤¬µ¯¤³¤ë¤Î¤«¤¬Íý²ò¤Ç¤¤¿¤È»×¤¤¤Þ¤¹¡£ ¤Ç¤Ï¡¢´°àú¤Ê port ¤òºîÀ®¤¹¤ë¤¿¤á¤Î¿ä¾©¼ê½ç¤ò ½ç¤Ë¸«¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£