안녕하세요..

: TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
: 이같은 구문이 있는데 잘 이해가 되지 않습니다.

==>>> 현재 디렉토리의 위치를 저장하는 변수입니다...

이 TOPDIR이 INCLUDES = -I. -I$(TOPDIR)/include 에서 사용하게 됩니다.

이것은 현재의 디렉토리에서 include 서버디렉토를 참조하라는 내용입니다.

: all:
: for i in $(DIRS) ; do make -C $$i || exit $? ; done

==>> DIRS 는 다음과 같이 정의 되어 있습니다.

DIRS = start main

따라서 for 문으로 해당 $(DIRS) 즉, main 과 start 디렉토리를 들어가서 make를 실행 하라는

내용입니다.....

main과 start 디렉토리안에 있는 Makefile를 실행하게 됩니다...

따라서 make 하실때 에는 main과 start 디렉토리 안에서 하시는것이 아니라

main과 start 상위 디렉토리에서 make 를 해주셔야 합니다..


: dd if=start/start_org of=image/$(BOOT_IMAGE) bs=1k conv=sync
: dd if=main/main_org of=image/$(BOOT_IMAGE) bs=1k seek=2
:

==>> dd 명령의 사용법을 인터넷에서 찾아보시면 쉽게 알 수 있습니다...

이것은 start에서 생성된 start_org 파일과 main에서 생성된 main_org 파일을 하나로 묶어

주는 내용입니다..


그럼 수고하세요..