====== 컴파일 과정의 이해 ====== GP2 에서 컴파일되는 과정을 설명하고 있다. 전체 소스코드 자체가 방대하고, 컴파일에 소요되는 시간도 길기 때문에 단번에 이해하기는 어려울 수 있다. 하지만, 하나씩 하나씩 분석해보면 이 문서를 다 읽었을 쯤에는 대강의 큰 그림을 그릴 수 있을 것이다. ====== 들어가기 전에 ====== GP2 컴파일 시 대부분 아래의 경로에 가서 컴파일 한다. $cd work/gp2/src/app/prj/dvb_saturn6/ $make epk GP2_DVB_EU.cfg # DVB 向 경우 위의 경우와 같이 실행했을 경우, Makefile 을 따라 컴파일되는 순서에 따라 설명하겠다. ====== 컴파일 과정 ====== ===== gp2/src/apps/prj/dvb_saturn6/makefile ===== 가장 먼저 실행되는 파일이다. 이 파일의 주 역할은 메인 Makefile 을 링크시켜 실행시키는 일이다. include src/moduels.mk include src/apps/platform/saturn6/makefile ===== gp2/src/modules.mk ===== CMN_MODULES1 = CMN_MODULES2 = CMN_MODULES3 = CMN_MODULES = $(CMN_MODULES1) $(CMN_MODULES2) $(CMN_MODULES3) DRV_DIR = src/drivers DRV_MODULES = $(call cond_assign, YES, INCLUDE_TU, $(DRV_DIR)/tu/tu.mk,) ... MW_MODULES = $(call cond_assign, YES, INCLUDE_FE, $(MW_DIR)/fe/fe.mk,) ... LG_LIB_MODULES=font 관련 UI_MODULES = resource.mk, ui.mk, emanual.mk, mafs.mk, addonhost.mk ROOT_MODULES = ... MICOM_MODULES = += $(call cond_assign, YES, INCLUDE_MICOM, $(DRV_DIR)/micom/micom.mk,) ... PLATFORM_MODULES += $(call cond_assign, YES, INCLUDE_MICOM, $(DRV_DIR)/$(PLATFORM_CHIP)/$(PLATFORM_CHIP).mk,) ---- {{indexmenu>:#1|skipns=/^(wiki|etc|diary|playground)$/ skipfile=/^(todays|about|guestbook)$/ nsort rsort}} ----