$(TOPDIR)/Makefile 질문

조회 수 1044 추천 수 0 2010.03.02 03:40:53

 

695번째 줄을 보면, 아래와 같은 것이 있습니다.

 

vmlinux-init := $(head-y) $(init-y)

 

위와 같이 되어있는데, head-y 가 보이질 않네요 ㅎㅎ

이런 경우엔 그냥 무시하면 되는건가요?

아니면, 뭐 특별히 신경써야할 것이 있나요?

참고로 분석 Architecture 는 x86 입니다.

 

또, patsubst 라는 것은 make 내의 함수라는 것을 알아냈는데, 설명은 다음과 같네요 ...

 

patsubst는 gnu make 내에 기본적으로 들어있는 function중에 하나입니다.

 

$(patsubst pattern,replacement,text)
 

하면 text의 내용중에서 pattern에 맞는 내용을 replacement로 치환하는 것입니다.

( %는 임의의 내용을 뜻하는데 )

 

$( patsubst %, %, ~~~ ) <<<ㅡㅡ 이 처럼 표현되어있으면, 도대체 어떤식으로 해석해야하나요?

 

간단한 예제를 만들어봤는데, 뭔가 이상하게 되네요 ㅡ_ㅡ;;;ㅎ

 

임의의 내용이니까 임의의(모든 ?!) 내용중 임의의(???) 패턴에 맞는 내용을 ~~~로 치환한다고 하니 ...

말뜻이 너무 이상해지는데 도와주십시오  ~~!!~!


김태훈

2010.03.02 09:29:38
*.145.148.92

head-y는 '$(TOPDIR)/arch/x86/Makefile'에 있습니다. 내용을 보시면 다음과 같은 오브젝트 파일을 포함합니다.

  • head_$(BITS).o
  • head$(BITS).o
  • head.o
  • init_task.o

$(BITS)는 32bit 머신이면 32, 64bit 머신이면 64로 정의됩니다.

---------------------------------------------------

$(patsubst pattern,replacement,text)


TEXT에서 PATTERN에 해당되는 라인을 찾아서, REPLACEMENT로 바꾸어 주라는 의미입니다.

위에 든 예는 의미가 없으니 다른 예를 들어보겠습니다.

Ex >

STR1 = linux-kernel-study

STR2 = $(patsubst linux-%,%,$(STR1))

all:

@echo $(STR2)



저러면 kernel-study 가 출력됩니다.

이상훈

2010.03.02 14:42:53
*.36.40.20

아 ... 지금 보니, 존재하네요 ... 딱 한개의 slash가 ㅡ_ㅡ;;;

$(patsubst %/, %, ~~~) <<<ㅡㅡ 요러한 부분은 ~~~ 에서 뒷부분이 / <<<ㅡㅡ 로 끝나는 것을 없애림을 뜻하나요?

김태훈

2010.03.02 15:19:29
*.145.148.92

'/'로 끝나는 문자열에서 끝의 '/'를 지워버리는 역활을 합니다.

이상훈

2010.03.02 15:23:41
*.36.40.20

감사합니다 ^^;ㅎ

앞으로 많이 배우겠습니다 ㅋ

List of Articles
번호 제목 글쓴이 날짜 조회 수
102 Linker Script부분과 종합된 질문 [4] 이상훈 2010-03-17 1038
101 sbrk() 의 정확한 역할 ... [3] 이상훈 2010-03-17 1072
100 엄청난 오개념 [4] 이상훈 2010-03-16 987
99 커널 스터디 관련 질문입니다. [1] 이준명 2010-03-16 965
98 용어적인 질문 [2] 이상훈 2010-03-16 939
97 spin_lock , zone, cgroup 에 관한질문.. [4] 강진성 2010-03-13 1088
96 환경 변수 설정관련 질문 ... [3] 이상훈 2010-03-11 969
95 네트워크 인터페이스 할당 변경에 관련하여 문의드립니다. [3] 송인재 2010-03-10 1025
94 percpu_read 와 __attribute__(__section__) [5] 이상훈 2010-03-08 1123
93 cpu_number 정의가 어디있는건가요 ? [2] 이상훈 2010-03-07 1002
92 add_preempt_count() 에 대해서 ... [3] 이상훈 2010-03-07 1044
91 기계어 질문 [7] 이상훈 2010-03-06 1072
90 스터디 시간 좀 늦춰주실 수 없나요 ? [3] 이상훈 2010-03-06 956
89 백창우님 질문입니다 [4] 이상훈 2010-03-06 1104
88 __ASSEMBLY__ 의 의미는 무엇인가요 ? [2] 이상훈 2010-03-05 1122
87 신기한 것 발견 ... [2] 이상훈 2010-03-03 1231
86 제일 궁금한부분입니다 ㅡ_ㅡ;;; [2] 이상훈 2010-03-03 999
85 질문입니다 [2] 이상훈 2010-03-02 1019
» $(TOPDIR)/Makefile 질문 [4] 이상훈 2010-03-02 1044
83 모듈 단위로 분석하는 것의 한계점 [5] Linux 2010-02-28 1053



XE Login