· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Mate Project

mate project manual ÀÔ´Ï´Ù. ¾ÕÀ¸·Î ¼öÁ¤ÀÌ ¸¹ÀÌ ÇÊ¿äÇÏ°Ú±º¿ä... ÀÏ´Ü ¿Ã·Áº¾´Ï´Ù.


1. ÇÁ·ÎÁ§Æ® ¼Ò°³


1.1. ¼Ò°³

mate( http://mate.kldp.net ) ´Â make template ÀÇ ¾àÀÚÀÌ´Ù. µ¿·á, Ä£±¸¸¦ ¶æÇÏ´Â mate ¶Ç´Â ü½ºÀÇ mate ÀÏ ¼öµµ ÀÖ´Ù. makefile ÀÇ explicit dependency ¸¸À» (¹«½ÄÇÏ°Ô) »ç¿ëÇؼ­ °¢Á¾ ÄÄÆÄÀÏ·¯¿Í ¿î¿µÃ¼Á¦ µî¿¡¼­ ¼Õ½±°Ô ÇÁ·Î±×·¥À» ºôµåÇÏ°í Å×½ºÆ®ÇÒ ¼ö Àִ ȯ°æÀ» ±¸ÃàÇÏ´Â °ÍÀÌ ¸ñÇ¥ÀÌ´Ù. ±×¸®°í vim ¿¡µðÅÍ¿¡¼­ È°¿ë °¡´ÉÇÏ°í, vim °ü·Ã ÆÄÀÏÀ» Á¦°øÇÑ´Ù.

1.2. Çü½Ä

ÀÌ ÇÁ·ÎÁ§Æ®´Â °íÀ¯ÀÇ Æ¯º°ÇÑ °³¹ß ȯ°æÀ» Á¦°øÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¹Ì¸® Á¤ÀÇµÈ ÅÛÇø´ make ÆÄÀÏ°ú ½Éº¼ µî¿¡ ±â¹ÝÇؼ­, makefile À» ÀÛ¼ºÇÏ¿©, makefileÀ» Ç÷¿Æû¿¡ µû¶ó º°µµ·Î ÀÛ¼ºÇÏÁö ¾Ê°í, ÇÊ¿äÇÑ °æ¿ì ÈÄ󸮵îÀ» ÅëÇØ makefile ÀÇ È£È¯¼ºÀ» À¯ÁöÇÏ´Â °ÍÀÌ´Ù.

1.3. ¸ñÇ¥

ÀÌ ÇÁ·ÎÁ§Æ®´Â °³ÀÎ °³¹ß ȯ°æÀ» ±¸ÃàÇϱâ À§ÇØ ÂªÁö ¾ÊÀº ½Ã°£ µ¿¾È ½ÃÇà Âø¿À¸¦ °Þ¾î¿Â °ÍÀ¸·ÎºÎÅÍ °³¼±µÇ¾î¿Ô´Ù. ÀÌ ÇÁ·ÎÁ§Æ®´Â µÎ°¡Áö ±Ã±ØÀûÀÎ ¸ñÇ¥°¡ ÀÖ´Ù.

  • ¿ì¼± ÀÌ ÇÁ·Î±×·¥ ºôµå(build) ȯ°æÀº ÀÌ¹Ì °ø°³Ç߰ųª ( coral library project, http://coral.kldp.net ) °ø°³µÉ ÇÁ·ÎÁ§Æ®µé¿¡ °øÅëÀûÀ¸·Î »ç¿ëµÈ´Ù.

  • ¶ÇÇÑ ÇÁ·ÎÁ§Æ®¸¦ °ø°³ÇÔÀ¸·Î½á, °³ÀÎÀû °³¹ß ȯ°æÀ» Á» ´õ ¹ü¿ë¼ºÀ» ¶î ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.

1.4. Âü¿©


ÀÌ ÇÁ·ÎÁ§Æ®´Â ´Ù¼öÀÇ °³¹ßÀÚ°¡ Âü¿©Çؼ­ ±× È¿¿ë¼ºÀ» Æò°¡ÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù°í »ý°¢ÇÑ´Ù. °Ô´Ù°¡ ÀÌ ÇÁ·ÎÁ§Æ®´Â ¹«¾ð°¡ Ưº°ÇÑ °ÍÀ» ´Ù·ç´Â °Íµµ ¾Æ´Ï¹Ç·Î, Å©°Ô ³­À̵µ°¡ ÀÖ´Â °Íµµ ¾Æ´Ï´Ù. ¹Ì¸® ÀÛ¼ºµÈ makefile ÅÛÇø´, bash script, batch file, c·Î ÀÛ¼ºµÈ ¸î°¡Áö À¯Æ¿¸®Æ¼, unix, cygwin ¶Ç´Â ±×¿¡ »óÀÀÇÏ´Â ¸í·É¾î µîÀ» ÅëÇØ ºôµå ȯ°æÀÇ ÆíÀǸ¦ µµ¸ðÇÏ´Â °ÍÀÌ ÁÖ¿ä °ñÀÚ´Ù.

¼÷·ÃµÈ °³¹ßÀÚµéÀÎ °æ¿ì, Àڱ⠰íÀ¯ÀÇ °³¹ß ȯ°æÀ» °®Ãß°í ±× ¹æ½Ä´ë·Î ÀÏÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÏ °ÍÀ̹ǷÎ, ³ª´Â °³¹ß ȯ°æÀÌ Ã¼°èÈ­µÇÁö ¾ÊÀº ÃÊÁß±Þ °³¹ßÀÚ°¡ ÀÌ ÇÁ·ÎÁ§Æ®¿¡ °ü½ÉÀ» °¡Á³À¸¸é ÇÏ´Â ¹Ù·¥ÀÌ´Ù. ¹°·Ð ¼÷·ÃµÈ °³¹ßÀÚµéÀÇ Âü¿©´Â º¸´Ù ÁÁÀº °á°ú¸¦ ¾òÀ» ¼ö ÀÖµµ·Ï ÇÒ °ÍÀÌÁö¸¸, Çö½ÇÀûÀ¸·Î ±×·² °¡´É¼ºÀÌ ¾ø¾îº¸À̳׿ä... ¸¹Àº ÀÇ°ßÀÌ ¿À°í °¥¼ö·Ï º¸´Ù ¹ü¿ëÈ­ µÉ ¼ö ÀÖÀ» °ÍÀ¸·Î ±â´ëÇÑ´Ù.

1.5. ¹Ì·¡


ÀÌ ÇÁ·ÎÁ§Æ®°¡ ¼º°ú¸¦ °ÅµÒÀ¸·Î½á, ÃÖ±Ù ±ä ½Ã°£ µ¿¾È ¼öÁ¤ »çÇ×ÀÌ Ä¿¹ÔµÇÁö ¾ÊÀº coral library project ( http://coral.kldp.net ) ·ÎºÎÅÍ, ¾ÆÁ÷ °ø°³µÇÁö ¾ÊÀº IMA project ¹× Orion project ( http://www.megapass.co.kr/~heesc22/orion/h_page.htm ) À» ¼øÂ÷ÀûÀ¸·Î °ø°³ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

2. ºôµå ȯ°æ


2.1. Áö¿øÇϴ ȯ°æ


ÇöÀç ´ÙÀ½°ú °°Àº ȯ°æ¿¡¼­ Å×½ºÆ®µÇ¾ú´Ù.

¿î¿µÃ¼Á¦ : unix, symbian, windows, wince, dos µî

ÄÄÆÄÀÏ·¯ : gcc, vcc, bcc, java µî

°¢ ȯ°æ¸¶´Ù Ư¼öÇÑ »óȲÀÌ ÀÖ°í, ¹ÌÁøÇÏ°Ô °³¹ßµÈ ºÎºÐÀÌ ÀÖÀ¸¸ç, ¼öÁ¤µÇ¸é¼­ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê°ÔµÇ´Â °æ¿ìµµ ÀÖ´Ù. °³ÀÎ ÇÊ¿ä¿¡ ÀÇÇØ »ç¿ëÇÒ ¶§¸¶´Ù ¼öÁ¤µÇ´Â °æÇâÀÌ ¿øÀÎÀε¥, ¾ÕÀ¸·Î °³¼±ÇØ°¡¾ß ÇÑ´Ù.

2.2. ÇÊ¿äÇÑ ¿ÜºÎ ¸í·É¾îµé

cygwin ÀÌ ¼³Ä¡µÅ ÀÖÀ¸¸é º°µµ ¼³Ä¡ÇÒ °ÍÀº ¾øÀ½. ´õ Á¤¸®°¡ ÇÊ¿äÇÔ.

2.3. °£´ÜÇÑ ¿¹Á¦


2.3.1. ¼Ò½º ÆÄÀÏ Çϳª·Î ½ÇÇà ÆÄÀÏ ÀÛ¼º

# ¼Ò½º ÆÄÀÏ°ú °æ·Î ÁöÁ¤ÇÑ´Ù.
EX_SRC=intmax
EX_SRCPATH=$(MK_DEVEL)/test

# ÅÛÇø´À» »ç¿ëÇÑ´Ù.
include $(MK_TEMPLATE_ROOT)/symbol.mk
include $(MK_EXECUTE)

# ±ú²ýÀÌ Çϱâ
clean:
	make -f test.mk clean_execute


2.3.2. º°µµÀÇ ¼Ò½º ÆÄÀÏ ÁöÁ¤ ( ¸í½ÃÀû ÀÇÁ¸¼º »ç¿ë )


EX_SRC=intmax
EX_SRCPATH=$(MK_DEVEL)/test
EX_OBJ=$(MK_OUT)/func.$(OBJ_EXT)

include $(MK_TEMPLATE_ROOT)/symbol.mk
include $(MK_EXECUTE)

# ÀÇÁ¸¼º Á¤ÀÇ
$(MK_OUT)/func.$(OBJ_EXT) : $(MK_DEVEL)/test/func.c
	$(EX_CC) $(MK_DEVEL)/test/func.c

clean:
	make -f test.mk clean_execute
	$(MK_RM) $(MK_OUT)/func.$(OBJ_EXT)

2.3.3. °øÀ¯ ¶óÀ̺귯¸® ÀÛ¼º

SH_NAME=$(SH_SRC)
SH_SRC=dltest
SH_SRCPATH=$(MK_DEVEL)/test/coral
include $(MK_TEMPLATE_ROOT)/symbol.mk
include $(MK_SHARED)

clean:
	make -f shared.mk clean_shared

2.4. mate project SCM ¿¡ ¿Ã¶óÀÖ´Â ÇöÀç »óÅ·Π»ç¿ëÇϱâ À§ÇØ...


¿ì¼± ÀÚ½ÅÀÇ È¯°æ¿¡ ¸ÂÁö ¾Ê´Â µîÀÇ ¹®Á¦·Î ¾Ö·Î »çÇ×ÀÌ ²É ÇÊ °ÍÀÌÁö¸¸, ÇöÀç »óÅ·εµ ¸î°¡Áö Á¦¾àÀ» ÁöŲ´Ù¸é »ç¿ëÀº °¡´ÉÇÏ´Ù. ¿©±â¼­ ±â¼úµÈ »çÇ× Áß ´©¶ôµÈ °ÍÀº º¸°­ÇØ¾ß ÇÒ °ÍÀÌ°í, ²É ÇÇ´Â ¾Ö·Î »çÇ×µéÀ» ÀáÀç¿ì±â À§ÇÑ ¹ü¿ëÈ­ ¹æ¾ÈÀÌ ÇÊ¿äÇÏ´Ù.

2.4.1. »ç¿ëÇÏ´Â 3´ë ȯ°æ º¯¼ö

µð·ºÅ丮 ±¸Á¶¸¦ Âü°íÇÏ¿© ´ÙÀ½ ȯ°æ º¯¼ö¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù.
  • CORE : CORE °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù.
  • EXTRA : EXTRA °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù.
  • FILE : ÇÁ·Î±×·¥ ¼³Ä¡ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù.

2.4.2. µð·ºÅ丮 ±¸Á¶

  • $CORE/devel : ±âº» °³¹ß °æ·Î°¡ µÈ´Ù.
  • $CORE/devel/make : mate project ÀÇ make °æ·Î
  • $CORE/devel/etc : mate project ÀÇ etc °æ·Î
  • $CORE/devel/util : mate project ÀÇ util °æ·Î
  • $EXTRA/temp/volatile : temp ÆÄÀÏ °æ·Î
  • $EXTRA/devel/lib/(platform)/shared : °øÀ¯ ¶óÀ̺귯¸® Ãâ·Â °æ·Î. ¿¹¸¦ µé¾î, unix ÀÎ °æ¿ì $EXTRA/devel/lib/unix/shared
  • $EXTRA/devel/lib/(platform)/(compiler) : Á¤Àû ¶óÀ̺귯¸® Ãâ·Â °æ·Î. ¿¹¸¦ µé¾î, win32, vcc ÀÎ °æ¿ì $EXTRA/devel/lib/win32/vcc
  • $EXTRA/devel/out/(platform) : ½ÇÇà ÆÄÀÏ Ãâ·Â °æ·Î. ¿¹¸¦ µé¾î, win32 ÀÎ °æ¿ì $EXTRA/devel/out/win32
  • $EXTRA/devel/out/(platform)/(compiler)/mode : ¸ñÀû ÆÄÀÏ Ãâ·Â °æ·Î. ¿¹¸¦ µé¾î, unix, gcc, debug ÀÎ °æ¿ì $EXTRA/devel/out/unix/gcc/d, release ÀÎ °æ¿ì $EXTRA/devel/out/unix/gcc/r
  • $FILE/devel/gcc : cygwin ¼³Ä¡ °æ·Î. ÇöÀç·Î´Â ¹Ýµå½Ã ¿©±â.
  • $FILE/devel/msdev : vc98 ¼³Ä¡ °æ·Î. ÇöÀç·Î´Â ¹Ýµå½Ã ¿©±â.
  • $FILE/devel/vs2005 : vs2005 ¼³Ä¡ °æ·Î. ÇöÀç·Î´Â ¹Ýµå½Ã ¿©±â.
  • $FILE/devel/cedev : ce °³¹ß ȯ°æ 4.0 ¼³Ä¡ °æ·Î. ÇöÀç·Î´Â ¹Ýµå½Ã ¿©±â.

3. vim °ú ¿¬µ¿

vim ÀÇ »ç¿ëÀÚ ¸í·ÉÀ» ÅëÇØ ºôµåÇÏ°í, ¿À·ù¸¦ ¼öÁ¤ÇÏ°í, CVS ¸¦ ÅëÇÑ ¼Ò½º °ü¸® µîÀ» ÇÒ ¼ö ÀÖ´Ù.

3.1. Áغñ »çÇ×


  • cygwin À» »ç¿ëÇÏ´Â °æ¿ì, /bin µð·ºÅ丮°¡ ¸¶¿îÆ® µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

3.2. MAKE ¸í·É


  • Çü½Ä : MAKE (parameters) name mode : ºôµåÇÒ ÇöÀç ÇÁ·ÎÁ§Æ® ¼³Á¤. ¿¹¸¦ µé¾î, µð¹ö±× ¸ðµå coral ÇÁ·ÎÁ§Æ®ÀÎ °æ¿ì, MAKE coral d
  • ÆĶó¹ÌÅÍ : ÆĶó¹ÌÅÍ´Â $MK_DEVEL/make/(name).mk ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê°Å³ª, name ¹× mode °¡ ÁÖ¾îÁöÁö ¾ÊÀº °æ¿ì¿¡¸¸ À¯È¿ÇÏ´Ù.
    • MK_MAKEPATH : ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ´ë°³ MS Visual Studio ó·³ °íÀ¯ÇÑ ÇÁ·ÎÁ§Æ® ÆÄÀÏÀ» °®´Â °³¹ß ȯ°æÀÌ, ÇØ´ç ÆÄÀÏÀ» ÀÎÀÚ·Î ¸í·ÉÇà¿¡¼­ ºôµåÇÏ´Â ±â´ÉÀ» Á¦°øÇÏ´Â °æ¿ì »ç¿ëµÈ´Ù.
    • MK_NAME : MK_MAKEPATH ¿Í °áºÎµÇ¸ç, ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. ÀÌ ÆĶó¹ÌÅÍ°¡ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì MK_MAKEPATH ¿¡¼­ °æ·Î ºÐ¸®ÀÚ·Î ±¸ºÐµÇ´Â ÃÖÁ¾ ¿ä¼ÒÀÇ À̸§À» ±×´ë·Î »ç¿ëÇÑ´Ù.
    • MK_CONFIG : Ç÷¿ÆûÀ» ¼³Á¤ÇÑ´Ù. ÀÌ ÆĶó¹ÌÅÍ°¡ ÁÖ¾îÁöÁö ¾Ê´Â °æ¿ì, Ç÷¿Æû À̸§Àº generic À¸·Î °£ÁֵȴÙ.

3.3. ±âŸ »ç¿ëÀÚ ¸í·É

  • MAKEFFILE : ÇöÀç ¼³Á¤µÈ ÇÁ·ÎÁ§Æ®ÀÇ makefile À» ¿¬´Ù.
  • MAKESRC : ÇöÀç ¼³Á¤µÈ ÇÁ·ÎÁ§Æ®ÀÇ ¼Ò½º ¼³Á¤ ÆÄÀÏÀ» ¿¬´Ù.
  • COMPILER name platform : ºôµå¿¡ »ç¿ëÇÒ ÄÄÆÄÀÏ·¯¸¦ ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¾î, win32 ¿¡¼­ vcc ¸¦ »ç¿ëÇÒ °æ¿ì COMPILER vcc win32
  • CVSIMPORT path : path À§Ä¡¸¦ cvs ·Î ÀÓÆ÷Æ®. path ´Â $MK_DEVEL ¿¡ ´ëÇÑ »ó´ë °æ·Î·Î ÁöÁ¤µÈ´Ù. MK_DEVEL Àº ±âº»ÀûÀ¸·Î $CORE/devel ·Î ¼³Á¤µÈ´Ù.
  • CVSEXPORT src dst : src À§Ä¡¸¦ dst ·Î ÀͽºÆ÷Æ®
  • CVSCHECKOUT name : name À» checkout. name ÀÌ »ý·«µÇ¸é, ÇöÀç ÆíÁý ÁßÀÎ ÆÄÀÏ Ã¼Å©¾Æ¿ô
  • CVSUPDATE name : name À» update. name ÀÌ »ý·«µÇ¸é, ÇöÀç ÆíÁýÁßÀÎ ÆÄÀÏ ¾÷µ¥ÀÌÆ®
  • CVSCOMMIT name : name À» Ä¿¹Ô. name ÀÌ »ý·«µÇ¸é, ÇöÀç ÆíÁý ÁßÀÎ ÆÄÀÏ Ä¿¹Ô
  • CVSADD name : name À» Ãß°¡. name ÀÌ »ý·«µÇ¸é, ÇöÀç ÆíÁý ÁßÀÎ ÆÄÀÏ Ãß°¡
  • PUT name: netrw ¸¦ ÀÌ¿ëÇÏ¿© FTP ¾÷·Îµå. name ÀÌ »ý·«µÇ¸é, ÇöÀç ÆíÁý ÁßÀÎ ÆÄÀÏ ¾÷·Îµå
  • GET name : netrw ¸¦ ÀÌ¿ëÇÏ¿© FTP ´Ù¿î·Îµå. name ÀÌ »ý·«µÇ¸é, ÇöÀç ÆíÁý ÁßÀÎ ÆÄÀÏ ´Ù¿î·Îµå
  • DATE : ÇöÀç ³¯Â¥¸¦ ¼Ò½º¿¡ »ðÀÔ
  • EXTRA : $EXTRA °æ·Î¸¦ ´ëü
  • BASE : °³¹ß base °æ·Î¸¦ Àüȯ. ¿¹¸¦ µé¾î, ³ëÆ®ºÏ »ç¿ë½Ã ¿ÜÀå Çϵå¿Í °°Àº ÀúÀå ÀåÄ¡¸¦ ÁÖ °³¹ß °æ·Î·Î »ç¿ëÇÒ ¶§ ÀÌ ¸í·ÉÀ» ÀÀ¿ë ÇÒ ¼ö ÀÖ´Ù.
  • µî...



ID
Password
Join
Preserve the old, but know the new.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-08-19 11:28:44
Processing time 0.0076 sec