FreeBSD ÇÚµåºÏ : ¾îÇø®ÄÉÀÌ¼Ç ¼³Ä¡Çϱâ: Æ÷Æ® ÄÝ·º¼Ç : Á÷Á¢ Æ÷Æ® ¸¸µé±â : Makefile ¼³Á¤Çϱâ
Previous: ´À¸° Æ÷ÆÃ
Next: Ưº°È÷ »ý°¢ÇØ¾ß ÇÒ °Íµé

4.7.3. Makefile ¼³Á¤Çϱâ

MakefileÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¾ÆÁÖ ½±½À´Ï´Ù. ±×¸®°í ½ÃÀÛÇϱâ Àü¿¡ ±âÁ¸ÀÇ ¿¹Á¦¸¦ »ìÆ캼 °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ ÇÚµåºÏ¿¡ ¿¹Á¦ MakefileÀÌ ÀÖÀ¸¹Ç·Î, Çѹø »ìÆ캸°í ´Ù¸¥ »ç¶÷µéÀÌ ¿©·¯ºÐÀÇ Æ÷Æ®¸¦ Àб⠽±µµ·Ï ±× ÅÛÇø®Æ®¿¡ ÀÖ´Â º¯¼ö¿Í ¼½¼ÇÀÇ ¼ø¼­¸¦ µû¶ó ÁÖ¼¼¿ä.

ÀÌÁ¦, ¿©·¯ºÐÀÌ »õ MakefileÀ» µðÀÚÀÎÇÏ´Â ¼ø¼­´ë·Î ´ÙÀ½ ¹®Á¦µéÀ» »ý°¢ÇØ º¾½Ã´Ù:

4.7.3.1. ¿øº» ¼Ò½º

¼Ò½º°¡ Ç¥ÁØÀûÀÎ gzipÀ¸·Î ¹­ÀÎ tarballÀÇÇüÅ·Π${DISTDIR}¿¡ ÀÖ½À´Ï±î?, ±×·¸´Ù¸é, ´ÙÀ½ ´Ü°è·Î ³ª¾Æ°©½Ã´Ù. ±×·¸Áö ¾Ê´Ù¸é, ¿©·¯ºÐÀÇ Æ÷Æ®ÀÇ ¹èÆ÷º» ÆÄÀÏÀÇ Çü½ÄÀÌ ¾ó¸¶³ª ´Ù¸¥Áö¿¡ µû¶ó ${EXTRACT_CMD}, ${EXTRACT_BEFORE_ARGS}, ${EXTRACT_AFTER_ARGS}, ${EXTRACT_SUFX}, or ${DISTFILES} º¯¼ö Áß Çϳª¸¦ ´Ù½Ã Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. (°¡Àå ¸¹Àº °æ¿ì´Â gzipÀÌ ¾Æ´Ï¶ó ÀϹÝÀûÀÎ compress·Î ¹­ÀÎ `EXTRACT_SUFX=.tar.Z'ÀÔ´Ï´Ù).

ÃÖ¾ÇÀÇ °æ¿ì, ±âº» µ¿ÀÛÀ» ´ë½ÅÇϱâ À§ÇØ ¿©·¯ºÐ¸¸ÀÇ `do-extract' Ÿ°ÙÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ·± °æ¿ì´Â ¸Å¿ì µå¹°¾î¾ß ÇÏ°í, ²À ÇÊ¿äÇÒ ¶§¸¸ Çϼ¼¿ä.

4.7.3.2. DISTNAME

¿©·¯ºÐÀÇ Æ÷Æ®ÀÇ ±âº» À̸§À¸·Î ${DISTNAME}¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±âº» ±ÔÄ¢Àº ¹èÆ÷º» ÆÄÀÏ ¸ñ·Ï(${DISTFILES})ÀÌ ${DISTNAME}${EXTRACT_SUFX} °¡ µÇ´Â °ÍÀÔ´Ï´Ù. º¸ÅëÀÇ tarballÀ̶ó¸é ´ÙÀ½°ú °°½À´Ï´Ù.

	
foozolix-1.0.tar.gz

À§ °æ¿ì´Â `DISTNAME=foozolix-1.0' ·Î ÁöÁ¤ÇÒ ¶§ÀÔ´Ï´Ù.

¶ÇÇÑ ±âº» ±ÔÄ¢Àº tarballÀ» work/${DISTNAME}À̶ó´Â ºÎµð·ºÅ丮¿¡ Ç®¾î³Ö´Â´Ù°í »ý°¢ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½°ú °°½À´Ï´Ù:

	
work/foozolix-1.0/

ÀÌ·± ¸ðµç Çൿ ¹æ½Äµµ ¹°·Ð ´Ù½Ã ¸¸µé ¼ö ÀÖ½À´Ï´Ù. À§´Â ´ÜÁö °¡Àå ÈçÇÏ°í ½Ã°£À» Àý¾àÇÒ ¼ö ÀÖ´Â ±âº»°ªÀ» ³ªÅ¸³À´Ï´Ù. ¿©·¯°³ÀÇ ¹èÆ÷º» ÆÄÀÏÀ» ÇÊ¿ä·Î ÇÏ´Â Æ÷Æ®ÀÇ °æ¿ì, ¸í½ÃÀûÀ¸·Î ${DISTFILES}¸¦ ÁöÁ¤Çϼ¼¿ä. ${DISTFILES}ÀÇ ÀϺθ¸À» ½ÇÁ¦·Î Ç®¾î³ÖÀ» °ÍÀ̶ó¸é, ±×·± °ÍµéÀº ${EXTRACT_ONLY}¿¡ ÁöÁ¤Çϼ¼¿ä. ½ÇÁ¦·Î Ç®¾î³ÖÀ» ¶§°¡ µÇ¸é ÀÌ°ÍÀÌ ${DISTFILES}ÀÇ ¸ñ·ÏÀ» ´ë½ÅÇϸç, ³²Àº °ÍµéÀº ³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ${DISTDIR}¿¡ ³²¾ÆÀÖ°Ô µË´Ï´Ù.

4.7.3.3. PKGNAME

${DISTNAME}°¡ ¿ì¸®ÀÇ ÁÁÀº ÆÐÅ°Áö À̸§ÀÇ °¡À̵å¶óÀο¡ ¸ÂÁö ¾Ê´Â´Ù¸é, ${PKGNAME}º¯¼ö¸¦ ´õ ³ªÀº °ÍÀ¸·Î ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº ¾ð±ÞÇÑ °¡À̵å¶óÀÎÀ» º¸¼¼¿ä.

4.7.3.4. CATEGORIES

ÆÐÅ°Áö¸¦ ¸¸µé¾îÁö¸é, À̰͵éÀº /usr/ports/packages/All ¾Æ·¡¿¡ ³õÀ̸ç /usr/ports/packagesÀÇ Çϳª ÀÌ»óÀÇ ºÎµð·ºÅ丮¿¡¼­ ¸µÅ©°¡ ¸¸µé¾îÁö°Ô µË´Ï´Ù. ÀÌ ºÎµð·ºÅ丮ÀÇ À̸§Àº ${CATEGORIES} º¯¼ö¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù. ÀÌ°ÍÀº »ç¿ëÀÚ°¡ FTP »çÀÌÆ®³ª CD-ROM¿¡¼­ ¼ö¸¹Àº ÆÐÅ°Áöµé »çÀ̸¦ µ¹¾Æ´Ù´Ò ¶§ Á» ´õ ÆíÇÏ°Ô Çϱâ À§ÇÑ °ÍÀÔ´Ï´Ù. ±âÁ¸ Ä«Å×°í¸®¸¦ ¸ÕÀú »ìÆ캸°í, ¿©·¯ºÐÀÇ Æ÷Æ®¿¡ ¾Ë¸Â´Â °ÍµéÀ» °í¸£¼¼¿ä.

¶ÇÇÑ ÀÌ ¸ñ·ÏÀº Æ÷Æ®¸¦ µé¿©¿Ã ¶§ Æ÷Æ® Æ®¸®ÀÇ ¾îµð¿¡ ³õÀ» Áö¸¦ °áÁ¤ÇÕ´Ï´Ù. ¿©±â Çϳª ÀÌ»óÀÇ Ä«Å×°í¸®¸¦ »ç¿ëÇϸé, Æ÷Æ® ÆÄÀÏÀº ù¹ø° Ä«Å×°í¸®ÀÇ À̸§À¸·Î µÈ ºÎµð·ºÅ丮¿¡ ³õ¿©Áø´Ù°í °¡Á¤ÇÕ´Ï´Ù. Ä«Å×°í¸® ¼½¼Ç¿¡¼­ ¿Ã¹Ù¸¥ Ä«Å×°í¸®¸¦ ¾ò´Â ¹æ¹ý¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.

¿©·¯ºÐÀÇ Æ÷Æ®°¡ Á¤¸» ±âÁ¸ÀÇ ¸ðµç Ä«Å×°í¸®¿¡ ¼ÓÇÏÁö ¾Ê´Â ¾î¶² °ÍÀ̶ó¸é, »õ Ä«Å×°í¸® À̸§À» ¸¸µé ¼öµµ ÀÖ½À´Ï´Ù. ±× °æ¿ì¿¡´Â FreeBSD Æ÷Æ® ¸ÞÀϸµ ¸®½ºÆ® <freebsd-ports@FreeBSD.ORG>·Î »õ Ä«Å×°í¸®¸¦ Á¦¾ÈÇÏ´Â ÀüÀÚ¿ìÆíÀ» º¸³» ÁÖ¼¼¿ä.

Ä«Å×°í¸® À̸§Àº ¿À·ù °Ë»ç¸¦ ÇÏÁö ¾Ê´Â´Ù´Â Á¡À» ÁÖÀÇÇϼ¼¿ä. `make package'´Â Ä«Å×°í¸® À̸§À» À߸ø ¾´´Ù¸é »õ µð·ºÅ丮¸¦ ¸¸µé°Ô µÉ °ÍÀ̹ǷÎ, ²À ÁÖÀÇÇϼ¼¿ä!

4.7.3.5. MASTER_SITES

¿øº» tarballÀ» °¡¸®Å°´Â ftp/http-URLÀÇ µð·ºÅ丮 ºÎºÐÀ» ${MASTER_SITES}¿¡ ±â·ÏÇϼ¼¿ä. ³¡ºÎºÐÀÇ ½½·¡½Ã(/)¸¦ Àؾ´Â ¾ÈµË´Ï´Ù!

make ¸ÅÅ©·Î´Â ÀÌ ½ºÆåÀ» ÀÌ¿ëÇÏ¿© ÀÌ¹Ì ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏÁö ¾ÊÀº °æ¿ì¿¡ ¹èÆ÷º» ÆÄÀÏÀ» ${FETCH}·Î ¾ò´Âµ¥ »ç¿ëÇÏ·Á ÇÕ´Ï´Ù.

ÀÌ ¸ñ·Ï¿¡ ¼­·Î ´Ù¸¥ ´ë·úÀÇ ¿©·¯ »çÀÌÆ®¸¦ ³Ö´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ÀÌ´Â ±¤¿ª ³×Æ®¿öÅ© ¹®Á¦¿¡ ´ëÇÑ ¾ÈÀü ÀåÄ¡À̸ç, ¿ì¸®´Â °¡Àå °¡±î¿î ¸¶½ºÅÍ »çÀÌÆ®¸¦ ÀÚµ¿ÀûÀ¸·Î °áÁ¤ÇÏ¿© ±×°÷¿¡¼­ ÆÄÀÏÀ» °®°í ¿À´Â Áö¿ø ¹æ¹ýÀ» Ãß°¡ÇÏ·Á°íµµ °èȹÇÏ°í ÀÖ½À´Ï´Ù!

¸¸¾à ¿øº» tarballÀÌ X-contrib, GNU, Perl CPAN, TeX CTAN, Linux Sunsite¿Í °°Àº ÀαâÀÖ´Â »çÀÌÆ® Áß ÇϳªÀÇ ÀϺζó¸é ÀÌ·± »çÀÌÆ®µéÀ» MASTER_SITE_XCONTRIB, MASTER_SITE_GNU, MASTER_SITE_PERL_CPAN, MASTER_SITE_TEX_CTAN, MASTER_SITE_SUNSITE¸¦ »ç¿ëÇÏ¿© ½±°í °£´ÜÇÏ°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ³ª¼­ »çÀÌÆ® ³»ÀÇ °æ·Î¸íÀ» MASTER_SITE_SUBDIR¿¡ ÀûÀ¸¼¼¿ä. ´ÙÀ½ÀÇ ¿¹¸¦ º¾½Ã´Ù.

MASTER_SITES=         ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR=   applications

¶ÇÇÑ »ç¿ëÀÚ´Â ¿©·¯ºÐÀÇ ¼±ÅÃÀ» ¹Ù²Ù±â À§ÇØ /etc/make.conf¿¡¼­ MASTER_SITE_* º¯¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀαâÀÖ´Â »çÀÌÆ®ÀÇ ÁÁ¾ÆÇÏ´Â ¹Ì·¯ »çÀÌÆ®¸¦ ´ë½Å »ç¿ëÇϼ¼¿ä.

4.7.3.6. PATCHFILES

¿©·¯ºÐÀÇ Æ÷Æ®°¡ ftp³ª http»ó¿¡¼­ ¾òÀ» ¼ö ÀÖ´Â ¸î°¡Áö Ãß°¡ÀûÀÎ ÆÐÄ¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù¸é, ${PATCHFILES}¿¡ ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÏ°í ${PATCH_SITES}¿¡ ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮ÀÇ URLÀ» ÁöÁ¤Çϼ¼¿ä(Çü½ÄÀº ${MASTER_SITES}¿Í °°½À´Ï´Ù).

ÆÐÄ¡°¡ º°µµÀÇ °æ·Î¸íÀ» Æ÷ÇÔÇÏ°í À־ ¼Ò½º Æ®¸®ÀÇ ÃÖ»óÀ§¿¡ »ó´ëÀûÀÌÁö ¾Ê´Ù¸é(¿¹. ${WKRSRC}), ${PATCH_DIST_STRIP}µµ ÁöÁ¤Çϼ¼¿ä. ¿¹¸¦ µé¾î, ÆÐÄ¡ ¾ÈÀÇ ¸ðµç °æ·Î¸íÀÌ ÆÄÀÏ À̸§ ¾Õ¿¡ `foozolix-1.0/'ÀÌ ºÙ´Â´Ù¸é, `PATCH_DIST_STRIP=-p1'·Î ÁöÁ¤Çϼ¼¿ä.

ÆÐÄ¡°¡ ¾ÐÃàµÇ¾î À־ °ÆÁ¤ÇϽà ¸¶¼¼¿ä. `.gz'³ª `.Z'·Î ³¡³ª´Â ÆÄÀϸíÀº ÀÚµ¿ÀûÀ¸·Î Ç®¾îÁý´Ï´Ù.

ÆÐÄ¡°¡ ¹®¼­¿Í °°Àº ´Ù¸¥ ÆÄÀÏ°ú °°ÀÌ gzipÀ¸·Î ¹­ÀÎ tarball·Î ¹èÆ÷µÈ´Ù¸é, ´Ü¼øÈ÷ ${PATCHFILES}À» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·± °æ¿ì¿¡´Â ÆÐÄ¡ tarballÀÇ À§Ä¡¿Í À̸§À» ${DISTFILES} °ú ${MASTER_SITES}¿¡ Àû¾îÁÖ¼¼¿ä. ±×·¯¸é, pre-patch Ÿ°Ù¿¡¼­ Á÷Á¢ ÆÐÄ¡ ¸í·ÉÀ» ½ÇÇàÇÏ¿© ÆÐÄ¡¸¦ Àû¿ëÇϰųª ÆÐÄ¡ ÆÄÀÏÀ» ${PATCHDIR} µð·ºÅ丮¿¡ patch-<xx>¶ó´Â À̸§À¸·Î º¹»çÇÏ¸é µË´Ï´Ù. (tarballÀº ÀÌ ¶§ º¸Åë ¼Ò½º¿Í °°ÀÌ ¾ÐÃàÀÌ Ç®¸², µû¶ó¼­ ÀÌ ÆÄÀÏÀÌ º¸ÅëÀÇ gzipÀ¸·Î ¹­ÀÎ °ÍÀ̰ųª ¾ÐÃàµÈ tarballÀÏ °æ¿ì ¸í½ÃÀûÀ¸·Î ¾ÐÃàÀ» Ç® ÇÊ¿ä´Â ¾ø½À´Ï´Ù.) ³ªÁß¿¡ ÆÐÄ¡¸¦ ÇÏ°í ½Í´Ù¸é, ±× µð·ºÅ丮¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â °ÍÀ» µ¤¾î ¾²Áö ¾Êµµ·Ï º°µµÀÇ ÁÖÀǸ¦ ±â¿ïÀ̼¼¿ä. ¶ÇÇÑ pre-clean Ÿ°Ù¿¡¼­ º¹»çÇÑ ÆÐÄ¡ ÆÄÀÏÀ» Áö¿ì´Â ¸í·ÉÀ» ³ÖÀ¸¼¼¿ä.

4.7.3.7. MAINTAINER

¿©·¯ºÐÀÇ ÀüÀÚ¿ìÆí ÁÖ¼Ò¸¦ ¾²¼¼¿ä. ²À. :)

°ü¸®ÀÚÀÇ Ã¥ÀÓ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº MakefilesÀÇ MAINTAINER ¼½¼ÇÀ» Âü°íÇϼ¼¿ä.

4.7.3.8. ÀÇÁ¸¼º

¸¹Àº Æ÷Æ®´Â ´Ù¸¥ Æ÷Æ®¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ÇÊ¿äÇÑ ¸ðµç °ÍÀÌ ¿©·¯ºÐÀÇ PC¿¡ ÀÖ´ÂÁö È®ÀÎÇϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¼¸°¡ÁöÀÇ º¯¼ö°¡ ÀÖ½À´Ï´Ù. °øÅëÀûÀÎ °æ¿ì¿¡ ¹Ì¸® Áö¿øÇÏ´Â ÀÇÁ¸¼º º¯¼ö°¡ ¸î°¡Áö ÀÖÀ¸¸ç, ÀÇÁ¸¼ºÀÇ µ¿ÀÛÀ» Á¦¾îÇϱâ À§ÇØ ¸î°¡Áö°¡ ´õ ÀÖ½À´Ï´Ù.

LIB_DEPENDS

ÀÌ º¯¼ö´Â ÀÌ Æ÷Æ®°¡ ÀÇÁ¸ÇÏ´Â °øÀ¯ ¶óÀ̺귯¸®¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ´Â `lib:dir[:Ÿ°Ù]' ÀÇ ½ÖÀε¥, lib´Â °øÀ¯ ¶óÀ̺귯¸®ÀÇ À̸§À̸ç, dir´Â ¶óÀ̺귯¸®°¡ ¾øÀ» °æ¿ì ã´Â µð·ºÅ丮ÀÌ°í, targetÀº ±× µð·ºÅ丮¿¡¼­ ºÎ¸£´Â Ÿ°ÙÀÔ´Ï´Ù. ¿¹¸¦ µé¸é

LIB_DEPENDS=    jpeg.9:${PORTSDIR}/graphics/jpeg:install

Àº ÁÖ ¹öÀü 9ÀÇ °øÀ¯ jpeg ¶óÀ̺귯¸®¸¦ °Ë»çÇÒ °ÍÀ̸ç, ãÁö ¸øÇÑ °æ¿ì Æ÷Æ® Æ®¸®ÀÇ graphics/jpeg ºÎµð·ºÅ丮¸¦ ã¾Æ°¡ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÕ´Ï´Ù. `:Ÿ°Ù' ºÎºÐÀº ${DEPENDS_TARGET}(`install'ÀÌ ±âº»°ª) °í °°´Ù¸é »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.

lib ºÎºÐÀº `ldconfig -r | grep -wF'¿¡ ÁÖ´Â ÀμöÀÔ´Ï´Ù. ÀÌ º¯¼ö¿¡´Â Á¤±Ô½ÄÀ» ½á¼­´Â ¾ÈµË´Ï´Ù.

ÀÇÁ¸¼ºÀº extract Ÿ°Ù¿¡¼­ Çѹø °Ë»çÇÏ°í install Ÿ°Ù¿¡¼­ Çѹø ´õ °Ë»çÇÕ´Ï´Ù. (ÀÌ´Â Æ÷Æ®°¡ ÄÄÆÄÀÏµÈ °Í°ú ´Ù¸¥ PC¿¡ ¼³Ä¡µÇ´õ¶óµµ ¶óÀ̺귯¸®°¡ ÀÖ´ÂÁö È®ÀÎÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù.) ¶ÇÇÑ, ÀÇÁ¸¼ºÀÇ À̸§Àº ÆÐÅ°Áö¿¡ Æ÷ÇԵǹǷΠpkg_add´Â ÀÇÁ¸ÇÏ´Â ÆÐÅ°Áö°¡ »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ¾øÀ» °æ¿ì ÀÚµ¿ÀûÀ¸·Î ¼³Ä¡ÇÏ·Á ÇÕ´Ï´Ù. ´Â ÇÁ·Î±×·¥À» ÀÚµ¿ÀûÀ¸·Î ¼³Ä¡ÇÒ °ÍÀÔ´Ï´Ù.

RUN_DEPENDS

ÀÌ º¯¼ö´Â Æ÷Æ®°¡ ½ÇÇà ½Ã°£¿¡ ÀÇÁ¸ÇÏ´Â ½ÇÇà ÆÄÀÏÀ̳ª ÀÏ¹Ý ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ´Â `path:dir[:Ÿ°Ù]'ÀÇ ½ÖÀ̸ç, path´Â ½ÇÇàÆÄÀÏÀ̳ª ÀÏ¹Ý ÆÄÀÏÀÇ À̸§ÀÌ°í, dir´Â ãÀ» ¼ö ¾øÀ» °æ¿ì ã¾Æº¼ µð·ºÅ丮ÀÌ°í, `Ÿ°Ù'Àº ±× µð·ºÅ丮¿¡¼­ ºÎ¸£´Â Ÿ°ÙÀÔ´Ï´Ù. path°¡ ½½·¡½Ã(/)·Î ½ÃÀÛÇϸé, ÀÌ´Â ÆÄÀϷΠó¸®µÇ¸ç ±× Á¸Àç´Â `test -e'·Î °Ë»çÇÕ´Ï´Ù; ±×·¸Áö ¾ÊÀ¸¸é ½ÇÇà ÆÄÀÏ·Î °£ÁÖÇÏ°í `which -s' °¡ »ç¿ëÀÚÀÇ °Ë»ö °æ·Î¿¡ ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÏ´ÂÁö °Ë»çÇϱâ À§ÇØ »ç¿ëÇÕ´Ï´Ù.

¿¹¸¦ µé¾î,

RUN_DEPENDS=	${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
                wish8.0:${PORTSDIR}/x11-toolkits/tk80

´Â ÆÄÀÏÀ̳ª µð·ºÅ丮 `/usr/local/etc/innd'ÀÌ Á¸ÀçÇÏ´ÂÁö °Ë»çÇÏ°í, ¾ø´Ù¸é Æ÷Æ® Æ®¸®ÀÇ news/inn ºÎµð·ºÅ丮¿¡¼­ ÄÄÆÄÀÏÇÏ¿© ¼³Ä¡ÇÕ´Ï´Ù. ¶ÇÇÑ ¿©·¯ºÐÀÇ °Ë»ö °æ·Î¿¡ `wish8.0'ÀÌ ÀÖ´ÂÁö º¸°í, ¾ø´Ù¸é x11-toolkits/tk80 ºÎµð·ºÅ丮¿¡¼­ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÕ´Ï´Ù. (ÀÌ °æ¿ì, `innd'´Â ½ÇÁ¦·Î ½ÇÇà ÆÄÀÏÀÔ´Ï´Ù; ¸¸¾à ½ÇÇà ÆÄÀÏÀÌ º¸Åë »ç¿ëÀÚÀÇ °Ë»ö °æ·Î¿¡ ÀÖÁö ¾ÊÀ» °Í °°´Ù¸é Àüü °æ·Î¸íÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.)

ÀÇÁ¸¼ºÀº install Ÿ°Ù ³»¿¡¼­ °Ë»çÇÕ´Ï´Ù. ¶ÇÇÑ ÀÇÁ¸¼ºÀÇ À̸§Àº ÆÐÅ°Áö¿¡ µé¾î°¡¹Ç·Î pkg_add´Â »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ¾ø´Â °æ¿ì ÀÚµ¿ÀûÀ¸·Î ¼³Ä¡ÇÕ´Ï´Ù. `:Ÿ°Ù' ºÎºÐÀº ${DEPENDS_TARGET}°ú °°´Ù¸é »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.

BUILD_DEPENDS

ÀÌ º¯¼ö´Â ÀÌ Æ÷Æ®¸¦ ÄÄÆÄÀÏÇϴµ¥ ÇÊ¿äÇÑ ½ÇÇà ÆÄÀÏÀ̳ª ÀÏ¹Ý ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ´Â RUN_DEPENDS¿Í °°ÀÌ `path:dir[:Ÿ°Ù]'½ÖÀÇ ¸ñ·ÏÀÔ´Ï´Ù. ¿¹¸¦ µé¸é,

BUILD_DEPENDS=  unzip:${PORTSDIR}/archivers/unzip
´Â `unzip'¶ó´Â ½ÇÇà ÆÄÀÏÀ» °Ë»çÇÏ°í ãÀ» ¼ö ¾ø´Ù¸é Æ÷Æ® Æ®¸®ÀÇ archivers/unzip ºÎµð·ºÅ丮¿¡¼­ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í ¼³Ä¡ÇÕ´Ï´Ù.

¿©±â¼­ÀÇ `ÀÛ¼º'´Â ¾ÐÃà Ç®±âºÎÅÍ ÄÄÆÄÀϱîÁöÀÇ ¸ðµç °ÍÀ» ¸»ÇÕ´Ï´Ù. ÀÇÁ¸¼ºÀº extract Ÿ°Ù ³»¿¡¼­ °Ë»çÇÕ´Ï´Ù. `:Ÿ°Ù' ºÎºÐÀº ${DEPENDS_TARGET}°ú °°´Ù¸é »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.

FETCH_DEPENDS

ÀÌ º¯¼ö´Â ÀÌ Æ÷Æ®°¡ fetchŸ°ÙÀ» ½ÇÇàÇϴµ¥ ÇÊ¿äÇÑ ½ÇÇà ÆÄÀÏÀ̳ª ÀÏ¹Ý ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¾ÕÀÇ µÎ°¡Áö¿Í °°ÀÌ, ÀÌ°ÍÀº `path:dir[:Ÿ°Ù]'ÀÇ ½ÖÀÇ ¸ñ·ÏÀÔ´Ï´Ù. ¿¹¸¦ µé¸é,

FETCH_DEPENDS=   ncftp2:${PORTSDIR}/net/ncftp2
´Â `ncftp2'À̶ó´Â ½ÇÇà ÆÄÀÏÀ» ã°í, ¾ø´Ù¸é Æ÷Æ® Æ®¸®ÀÇ net/ncftp2 ºÎµð·ºÅ丮¿¡¼­ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÕ´Ï´Ù.

ÀÇÁ¸¼ºÀº fetch Ÿ°Ù¿¡¼­ °Ë»çÇÕ´Ï´Ù. `:Ÿ°Ù' ºÎºÐÀº ${DEPENDS_TARGET}°ú °°´Ù¸é »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.

DEPENDS

¾ÕÀÇ ³×°¡Áö Ä«Å×°í¸®ÀÇ ¾î´À ÂÊ¿¡µµ ¼ÓÇÏÁö ¾Ê´Â ÀÇÁ¸¼ºÀÌ Àְųª, ¼³Ä¡µÈ °Í ¸»°íµµ Æ÷Æ®°¡ ¾ÐÃàÀ» Ǭ ´Ù¸¥ Æ÷Æ®ÀÇ ¼Ò½º¸¦ ÇÊ¿ä·Î ÇÑ´Ù¸é ÀÌ º¯¼ö¸¦ »ç¿ëÇϼ¼¿ä. ÀÌ´Â ´ÜÁö `dir[:Ÿ°Ù]'ÀÇ ¸ñ·ÏÀÏ »ÓÀ̸ç, ¾ÕÀÇ ³×°¡Áö Ä«Å×°í¸®¿Í ´Þ¸® °Ë»çÇÒ °ÍÀº ¾ø´Â µð·ºÅ丮 ¸ñ·ÏÀÔ´Ï´Ù. `:Ÿ°Ù' ºÎºÐÀº ${DEPENDS_TARGET}°ú °°´Ù¸é »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.

°øÅë ÀÇÁ¸¼º º¯¼ö

Æ÷Æ®°¡ XÀ©µµ¿ì ½Ã½ºÅÛÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù¸é `USE_XLIB=yes'¸¦ Á¤ÀÇÇϼ¼¿ä(ÀÌ´Â USE_IMAKE¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù). Æ÷Æ®°¡ BSD make ´ë½Å GNU make¸¦ ÇÊ¿ä·Î ÇÑ´Ù¸é `USE_GMAKE=yes'¸¦ Á¤ÀÇÇϼ¼¿ä. Æ÷Æ®°¡ ÃÖ½ÅÀÇ Qt ÅøŶÀ» »ç¿ëÇϸé `USE_QT=yes'¸¦ Á¤ÀÇÇϼ¼¿ä. Æ÷Æ®°¡ ¹öÀü 5ÀÇ perl ¾ð¾î¸¦ ÇÊ¿ä·Î Çϸé `USE_PERL5=yes'¸¦ »ç¿ëÇϼ¼¿ä(¸¶Áö¸· °ÍÀº ¸Å¿ì Áß¿äÇѵ¥, FreeBSDÀÇ ¾î¶² ¹öÀüÀº perl5¸¦ ±âº» ½Ã½ºÅÛÀÇ ÀϺηΠÆ÷ÇÔÇÏÁö¸¸ ´Ù¸¥ °ÍµéÀº ±×·¸Áö ¾Ê½À´Ï´Ù)

ÀÇÁ¸¼º¿¡ ´ëÇÑ Âü°í»çÇ×

¾Õ¿¡¼­ ¾ð±ÞÇÏ¿´µíÀÌ, ÀÇÁ¸¼ºÀÌ ÇÊ¿äÇÒ ¶§ ºÎ¸£´Â ±âº» Ÿ°ÙÀº ${DEPENDS_TARGET}ÀÔ´Ï´Ù. ±âº»°ªÀº `install' ÀÔ´Ï´Ù. ÀÌ°ÍÀº »ç¿ëÀÚ º¯¼öÀÔ´Ï´Ù. Æ÷Æ®ÀÇ Makefile¿¡¼­´Â Àý´ë Á¤ÀÇÇÏ¸é ¾ÈµË´Ï´Ù. Æ÷Æ®°¡ ÀÇÁ¸¼ºÀ» Ưº°ÇÏ°Ô ´Ù·ç°í ½Í´Ù¸é, ${DEPENDS_TARGET}À» ´Ù½Ã Á¤ÀÇÇÏ´Â ´ë½Å *_DEPENDS º¯¼öÀÇ `:Ÿ°Ù' ºÎºÐÀ» »ç¿ëÇϼ¼¿ä.

`make clean'¸¦ ÀÔ·ÂÇϸé, ÀÇÁ¸ÇÏ´Â ÆÐÅ°Áöµµ °°ÀÌ ÀÚµ¿ÀûÀ¸·Î û¼ÒÇÕ´Ï´Ù. ±×·¸°Ô ÇÏ°í ½ÍÁö ¾Ê´Ù¸é, NOCLEANDEPENDS¸¦ ȯ°æº¯¼ö¿¡ Á¤ÀÇÇϼ¼¿ä.

´Ù¸¥ Æ÷Æ®¿¡ ¹«Á¶°Ç ÀÇÁ¸ÇÏ°Ô ÇÏ°í ½Í´Ù¸é, BUILD_DEPENDS³ª RUN_DEPENDSÀÇ Ã¹¹ø° Çʵ忡 `nonexistent' ¹®ÀÚ¿­À» ÁöÁ¤ÇÏ´Â °ÍÀÌ °ü·ÊÀÔ´Ï´Ù. ´Ù¸¥ Æ÷Æ®ÀÇ ¼Ò½º¸¦ ¾òÀ» ÇÊ¿ä°¡ ÀÖÀ» ¶§¿¡¸¸ »ç¿ëÇϼ¼¿ä. Ÿ°ÙÀ» Á¤ÀÇÇؼ­ ÄÄÆÄÀÏ ½Ã°£À» ¾Æ³¥ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é,

BUILD_DEPENDS=   /nonexistent:${PORTSDIR}/graphics/jpeg:extract

Àº Ç×»ó JPEG Æ÷Æ®·Î °¡¼­ ¼Ò½º¸¦ Ç®¾î³õ½À´Ï´Ù.

`DEPENDS'´Â ¿©·¯ºÐÀÇ ¿øÇÏ´Â ´Ù¸¥ ¹æ¹ýÀÌ ¾øÀ» ¶§¿¡¸¸ »ç¿ëÇϼ¼¿ä. ÀÌ´Â ´Ù¸¥ Æ÷Æ®°¡ Ç×»ó ÄÄÆÄÀϵǵµ·Ï(±×¸®°í ±âº»ÀûÀ¸·Î ¼³Ä¡µÇµµ·Ï) Çϸç, ±× ÀÇÁ¸¼ºµµ ÆÐÅ°Áö¿¡ Æ÷ÇԵ˴ϴÙ. Á¤¸» ÀÌ°ÍÀÌ ÇÊ¿äÇÏ´Ù¸é, ´ë½Å BUILD_DEPENDS¿Í RUN_DEPENDS¶ó°í ¾²´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù -- Àû¾îµµ ±× Àǵµ´Â ¸í¹éÇØ Áú °ÍÀÔ´Ï´Ù.

4.7.3.9. ÄÄÆÄÀÏ ¸ÞÄ«´ÏÁò

¿©·¯ºÐÀÇ ÆÐÅ°Áö°¡ GNU make¸¦ »ç¿ëÇÑ´Ù¸é `USE_GMAKE=yes'¸¦ ÁöÁ¤Çϼ¼¿ä. ÆÐÅ°Áö°¡ configure¸¦ »ç¿ëÇÑ´Ù¸é `HAS_CONFIGURE=yes'¸¦ ÁöÁ¤Çϼ¼¿ä. ÆÐÅ°Áö°¡ GNU configure¸¦ »ç¿ëÇÑ´Ù¸é `GNU_CONFIGURE=yes'¸¦ ÁöÁ¤Çϼ¼¿ä(ÀÌ´Â HAS_CONFIGURE¸¦ ±âº»ÀûÀ¸·Î ÁöÁ¤ÇÏ¿´´Ù°í »ý°¢ÇÕ´Ï´Ù). configure¿¡ º°µµÀÇ Àμö¸¦ ÁÖ°í ½Í´Ù¸é(GNU configureÀÇ ±âº»°ªÀº `--prefix=${PREFIX}' ÀÌ°í ºñ GNU configureÀÇ ±âº»°ªÀº ¾ø½À´Ï´Ù), º°µµÀÇ ÀμöµéÀ» ${CONFIGURE_ARGS}¿¡ ÁöÁ¤Çϼ¼¿ä. ÆÐÅ°Áö°¡ GNU autoconf¸¦ »ç¿ëÇÑ´Ù¸é, `USE_AUTOCONF=yes'¸¦ ÁöÁ¤Çϼ¼¿ä. ÀÌ´Â GNU_CONFIGURE¸¦ ÁöÁ¤ÇÑ´Ù°í »ý°¢ÇÏ°í, autoconf¸¦ configure º¸´Ù ¸ÕÀú ½ÇÇàÇϵµ·Ï ÇÕ´Ï´Ù.

¿©·¯ºÐÀÇ ÆÐÅ°Áö°¡ imake¸¦ »ç¿ëÇÏ¿© Imakefile¿¡¼­ MakefileµéÀ» »ý¼ºÇÏ´Â X ¾îÇø®ÄÉÀ̼ÇÀ̶ó¸é, `USE_IMAKE=yes'¸¦ ÁöÁ¤Çϼ¼¿ä. ÀÌ°ÍÀº ¼³Á¤ ´Ü°è¿¡¼­ ÀÚµ¿ÀûÀ¸·Î xmkmf -a¸¦ ½ÇÇàÇÕ´Ï´Ù. `-a' Ç÷¡±×°¡ ¿©·¯ºÐÀÇ Æ÷Æ®¿¡¼­ ¹®Á¦°¡ µÈ´Ù¸é `XMKMF=xmkmf'¸¦ ÁöÁ¤Çϼ¼¿ä.

Æ÷Æ®°¡ imake¸¦ »ç¿ëÇÏÁö¸¸ `install.man' Ÿ°ÙÀ» ÀÌÇØÇÏÁö ¸øÇÑ´Ù¸é, `NO_INSTALL_MANPAGES=yes'À» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. Ãß°¡·Î ¿ø·¡ ÆÐÅ°ÁöÀÇ ÀúÀÚ¿¡°Ôµµ ¾Ë·Á¾ß ÇÕ´Ï´Ù. :>

Æ÷Æ®ÀÇ ¼Ò½º MakefileÀÌ ÁÖ ÄÄÆÄÀÏ Å¸°ÙÀ¸·Î `all'ÀÌ¿Ü¿¡ ´Ù¸¥ °ÍÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù¸é, ${ALL_TARGET}¸¦ ÁöÁ¤Çϼ¼¿ä. `install'¿Í ${INSTALL_TARGET} µµ ¸¶Âù°¡Áö °ü°èÀÔ´Ï´Ù.


FreeBSD ÇÚµåºÏ : ¾îÇø®ÄÉÀÌ¼Ç ¼³Ä¡Çϱâ: Æ÷Æ® ÄÝ·º¼Ç : Á÷Á¢ Æ÷Æ® ¸¸µé±â : Makefile ¼³Á¤Çϱâ
Previous: ´À¸° Æ÷ÆÃ
Next: Ưº°È÷ »ý°¢ÇØ¾ß ÇÒ °Íµé