· 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
He who has imagination without learning has wings but no feet.


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.0061 sec