GP2 에서 컴파일되는 과정을 설명하고 있다. 전체 소스코드 자체가 방대하고, 컴파일에 소요되는 시간도 길기 때문에 단번에 이해하기는 어려울 수 있다.
하지만, 하나씩 하나씩 분석해보면 이 문서를 다 읽었을 쯤에는 대강의 큰 그림을 그릴 수 있을 것이다.

들어가기 전에

GP2 컴파일 시 대부분 아래의 경로에 가서 컴파일 한다.

$cd work/gp2/src/app/prj/dvb_saturn6/
$make epk GP2_DVB_EU.cfg           # DVB 向 경우

위의 경우와 같이 실행했을 경우, Makefile 을 따라 컴파일되는 순서에 따라 설명하겠다.

컴파일 과정

가장 먼저 실행되는 파일이다. 이 파일의 주 역할은 메인 Makefile 을 링크시켜 실행시키는 일이다.

include src/moduels.mk
include src/apps/platform/saturn6/makefile
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,)
  • computer/lg/컴파일_과정의_이해.txt
  • Last modified: 3 years ago
  • by likewind