CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): lomen (이동렬)
날 짜 (Date): 2003년 4월  5일 토요일 오후 06시 13분 18초
제 목(Title): [질문] Makefile 구문이 이해가 안가서...


제가 사용하고 있는 makefile의 일부분입니다.

(음... 조금 부정확할 지도 모릅니다. ^^;;)

------------------------------------------
objects = objs/a.o objs/b.o objs/c.o
SRC_FILE = $(@:%.o %.c)
SRC_CFILE = $(notdir $(SRC_FILE))

$(objects) : $(SRC_FILE)
$(CC) $(CFLAGS) -o $@ $<

objs/a.o : a.c
objs/a.o : a.h
objs/a.o : b.h

objs/b.o : b.c
objs/b.o : a.h
objs/b.o : b.h

objs/c.o : c.c
objs/c.o : a.h
objs/c.o : c.h
-------------------------------------------

근데 이 컴파일 룰이 어떻게 동작하는 지 잘 이해가 안갑니다.

컴파일 룰이 결국 이렇게 해석되지 않나요?

objs/a.o : a.c a.h b.h objs/a.c
$(CC) $(CFLAGS) -o $@ $<

objs/b.o : b.c a.h b.h objs/b.c
$(CC) $(CFLAGS) -o $@ $<

objs/a.o : a.c a.h b.h objs/a.c
$(CC) $(CFLAGS) -o $@ $<

문제는 database를 출력해 보면 dependency 리스트에는 

objs/a.c,objs/b.c,objs/c.c는 없습니다. 

objs/a.o : a.c a.h b.h

그러니까 잘 동작하지여... 근데, 제 해석이 잘못된 것인지?


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.