| [ 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 그러니까 잘 동작하지여... 근데, 제 해석이 잘못된 것인지? |