>> Read Reply from No. 0 article  
RE: makefile에 대해서(고수님들 필독!!!)

등록 2001-05-14 17:39:00     조회 1
이름 우태열    

		make -d > make.result 2>&1  옵션을 사용해보세여.
 에러든 아니던 모두 make.result로 다 쌓일겁니다.
 해서 분석해보시는 편이 좋을거 같네요.
  : 안녕하세요...
: 프로젝트를 진행중인데, makefile의 실행내용을 - 정확하게는 Java Micro
Edition의 리눅스용 CVM
: 포팅용 makefile입니다. - 분석해야될 처지에 놓였습니다.
: HowTo문서나 여러 서적을 찾아봤지만 기본적인 내용들만 나와있고, 실제
소스를 보니
: 나와있지 않은 내용들이 많아서 이해가 안됩니다. -_-;;
: 내용은 길지만 아시는 분이라면 정말 간단한 문제일거라고 확신합니다.
: 웬만큼 리눅스를 사용하시는 분들도 makefile은 고개를 흔들어서 어렵게
글을 올립니다.
: 정 답변이 힘들다고 생각되시면 해결할 수 있는 방법이라도 좀 알려주세
요 ㅠㅠ
: 읽어 주시는 것만으로도 감사드립니다. 하지만 꼭! 꼭! 꼭! 부탁(애걸~~
두손모아... )드립니다.
: 모르는 부분은 다음과 같습니다.
:
: 1)
: J2ME_BUILD_RELEASE = $(subst _,.,1_0)
:   위 문장에서 subst는 makefile에 정의되어 있는건지, 쉘 함수인지...
:   실행내용을 알려주세요. 대충 1.0일거라고 짐작했지만 확실히 하기 위해
서...
: 2)
: CVM_NO_CODE_COMPACTION_CLEANUP  _ACTION =
:           rm -rf $(CVM_ROMJAVA_CPATTERN)*
:
: CVM_REFLECT_CLEANUP_ACTION =
:             $(CVM_JAVAC_DEBUG_CLEANUP_ACTIO  N)
:             CDCFOUNDATION/build/linux/obj/jn  i_impl.o
: CDCFOUNDATION/build/linux/obj/jvm  .o 
CDCFOUNDATION/build/linux/obj/refl  ect.o
:           $(CVM_ROMJAVA_CPATTERN)*
:   위 소스에서 *가 의미하는게 무엇인가요?
: 3)
: ASM_RULE = $(AT)gcc -traditional -D_ASM $(CPPFLAGS) -c -o $@ $<
: CC_RULE  = $(AT)gcc $(CFLAGS) -o $@ $<
: CC_RULE_FP = $(AT)gcc $(CFLAGS_FP) -o $@ $<
: LINK_RULE = $(AT)gcc  $(LINKFLAGS) -g -o $@ $^ $(LINKLIBS)
: LIB_RULE  = $(AT)$(LIB) $(LIB_FLAGS) -g -o $@ $^
:
: 가장 이해하기 힘든 부분입니다. AT=@라고 매크로가 정의되어 있는데 명령
행에서 @가 앞에오면 어
: 떻게 되는건지... 궁금하구요, $@,$<는 알겠는데, $^은 설명이 없습니다.
$^에 대해서 알려주세요.
:
: 4)
: CDCFOUNDATION/build/linux/foundatio  n_classes/%.class:
: $(CVM_CLDCCLASSES_SRCDIR)/%.java
:           @echo $? >>.libclasses.list
:           @touch .libclasses
: 또 아주 힘든 부분입니다. %가 의미하는게 무엇인지...
: 또 $? >>가 무엇을 의미하는지 좀 알려주세요.
:
: 5) 계속 연속되는 내용입니다. 중간중간에 질문...
: files := $(foreach file, $(wildcard
CDCFOUNDATION/build/linux/obj/*.d), $(file))
:     ### :=가 어떻게 하라는 건지...  foreach file도 메크로로 정의되어
있지 않습니다. 알려주세요.
: ifneq ($(strip $(files)),)  ###strip은 무슨 함수인가요...??? 
:   include $(files)
: endif
:
:
: vpath %.c      $(CVM_SRCDIRS)
: vpath %.S      $(CVM_SRCDIRS)
: vpath %.java  $(CVM_SRCJAVA_PATH) $(CVM_SRCTESTJAVA_PATH)
: ###위 문장은 메크로도 아니고 그렇다고 명령행 같지도 않고 무엇인지
요...???
:
: CDCFOUNDATION/build/linux/generated/  empty.mk:  $(CVM_SRCDIRS)
:           touch  CDCFOUNDATION/build/linux/generated/e  mpty.mk
: include  CDCFOUNDATION/build/linux/generated/em  pty.mk
:
: checkflags:: CDCFOUNDATION/build/linux/generated $(CVM_FLAGS)
:     ### '::'은 무엇인가요?
:
: 6)
: CVM_GENERATE_OFFSETS            = 
: $(patsubst %,-extraHeaders CVMOffsets %,$(CVM_OFFSETS_CLASSES))
: patsubst %는 무엇을 의미하나요???
:
: 7)
: CDCFOUNDATION/build/linux/obj/$(CVM_ROM  JAVA_O):
$(CVM_ROMJAVA_LIST)
:           @for NAME in `cat $(CVM_ROMJAVA_LIST)` ; do 
:                       target=`basename $${NAME} .c`.o ;
:                         object=CDCFOUNDATION/build/linux/obj/$${ 
target} ;
:                       echo ... $$target ;
:                       $(CC) $(CFLAGS) -o $$object $${NAME} ;
:                       namelist="$${namelist} $${object}" ;
:           done;
:           echo Linking $@ ;
:           echo $(AR) $(AR_CREATE_FLAGS) $@ $${namelist} ;
:           $(AR) $(AR_CREATE_FLAGS) $@ $${namelist} ;
:           echo $(AR) $(AR_UPDATE_FLAGS) $@ ;
:           $(AR) $(AR_UPDATE_FLAGS) $@
: ' xxx ' 에서 ' ' 는 어떤 용도인가요?
: $$target에서 $$는 무엇인가요?
: $${object}에서 $${}는 무엇인가요?
:
: 8)
: CDCFOUNDATION/build/linux/obj/s_rint.o:
: CDCFOUNDATION/src/share/native/java/lang/  fdlibm/src/s_rint.c
:           @echo "... $@"
:           $(CC_RULE)
:
:           @$(CC) $(CCDEPEND) $(CPPFLAGS) $< 2> /dev/null |
:           sed 's!$*.o!$(dir $@)&!g' > $(@:.o=.d)
:
: 마지막 두줄에서 2> 는 무엇일까요?
: 마지막 줄에서 !는 우엇인가요... 그리고 @:,o=.d가 의미하는건 무엇일까
요?
이름
암호


>> 관련글
  답장 RE: makefile에 대해서(고수님들 필독!!!)  markboy  2001.05.14  ....
  답장 RE: makefile에 대해서(고수님들 필독!!!)  우태열  2001.05.14  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 2.08 초 ] 작업시간: [ 0.63 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789543915
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.