2014-02-21 3 views
1

로 구축 내 메이크 파일을 변경 I가 다음 메이크 :방법은 별도의 폴더

CC=g++ 
CCOPTS=-Wall -Wextra -g 

OBJS = manager.o tcpcon.o 
TARGETS = manager 

.PHONY: all clean 

$(TARGETS) : $(OBJS) 
    $(CC) -o [email protected] $^ $(CFLAGS) $(LIBS) 

all: $(TARGETS) $(OBJS) 

clean: 
    rm -f $(TARGETS) $(OBJS) 

%: %.cpp 
    $(CC) $(CCOPTS) -o [email protected] $< 

내가 내에서는 .o와 빈 파일 build라는 디렉토리에 내장 할 수있는 방법이 있습니까? 튜토리얼을 보려고했지만 메이크 파일을 완전히 이해하지 못했다고 생각합니다.

+0

나는이 도움이 될해야한다고 생각합니다 : HTTP :/ [1] [1] [스택 오버플로에 2009 년에 대답 비슷한 질문이 링크를 클릭하세요] /stackoverflow.com/questions/1950926/create-directories-using-make-file – Rentsy

답변

2

나쁘지는 않습니다. 나는 확실하지 않다 누구나은 메이크 파일을 완전히 이해한다.

BUILD_DIR = build 

OBJS = $(BUILD_DIR)/manager.o $(BUILD_DIR)/tcpcon.o 
TARGETS = $(BUILD_DIR)/manager 

... 

$(BUILD_DIR)/%.o: %.cpp 
    $(CC) -c $(CCOPTS) -o [email protected] $< 
+0

흠, 지금 다음과 같은 결과가 나옵니다. make : *** 타겟'build/manager.o '를 만들기위한 규칙이 없습니다.'build/매니저'. 중지. .... 나는 내 원래 질문을 지금 가지고있는 것으로 업데이트했다. – MrDuk

+1

@ctote : 죄송합니다. 현재 답변에 결함이있어 수정되었습니다. 그러나 제발 그 같은 "귀하의 질문을 업데이 트하지 마십시오; 응답을 쓸모 없게 만들고 다른 사용자를 위해 질문의 가치를 파괴합니다. – Beta

+0

감사합니다. 편집을 취소했습니다. – MrDuk

관련 문제