[완료] Makefile 분석좀 부탁드립니다.
글쓴이: jazzsir / 작성시간: 금, 2012/05/11 - 1:57오후
TOPDIR:=${CURDIR} LC_ALL:=C LANG:=C world: include $(TOPDIR)/include/host.mk include rules.mk include $(INCLUDE_DIR)/depends.mk include $(INCLUDE_DIR)/subdir.mk include target/Makefile include package/Makefile include tools/Makefile include toolchain/Makefile $(toolchain/stamp-install): $(tools/stamp-install) $(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared $(package/stamp-cleanup): $(target/stamp-compile) $(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-install): $(package/stamp-compile) $(package/stamp-rootfs-prepare): $(package/stamp-install) $(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) printdb: @true prepare: $(target/stamp-compile) clean: FORCE $(_SINGLE)$(SUBMAKE) target/linux/clean rm -rf $(BUILD_DIR) $(BIN_DIR) $(BUILD_LOG_DIR) . . . . prepare: .config $(tools/stamp-install) $(toolchain/stamp-install) world: prepare $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) $(target/stamp-install) FORCE $(_SINGLE)$(SUBMAKE) -r package/index . . .
여기에서
질문 1) world 타겟과 prepare 타겟이 두개씩 있는데 어떻게 사용되는것인지요?
질문 2) world 타겟이 2개중 첫번째꺼는 명령절도 종속항목도 없는데 어떤 의미인지요?
Forums:
제가 알고 있는 선에서는 1) target 이
제가 알고 있는 선에서는
1)
target 이 여러개면 prerequiste 은 합쳐서 처리됩니다. 즉
이면
과 똑같습니다. 별로 권장할만한 건 아닌 것 같습니다.
2,3)
그냥 make 하면 all 을 찾는게 아니라 가장 먼저 있는 target 을 실행시킵니다. 즉 여기서는 world: 죠
아무것도 없는 world: 가 저기 놓인건 그냥 make 을 쳤을 때 실행시키기 위한 용도입니다.
실제로는 저 밑에 있는 world: 가 실행되겠죠.
좀 지저분한 Makefile 인데 뭔가 이유가 있겠죠.
답글 감사합니다.
많은 도움 되었습니다.~ ^^
댓글 달기