2012-12-08 1 views
1

함수를 사용하여 tree.c를 포함하는 이진 트리 프로그램을 구현했습니다. tree.h에는 선언이 있고 main.c는 테스트 용입니다. doxygen을 사용하여 라이브러리와 문서를 생성하기 위해 makefile을 확장합니다.

CC=gcc 
CFLAGS=-g -Wall 
DEPS = tree.h 
OBJ = main.o tree.o 

%.o: %.c $(DEPS) 
    $(CC) -c -o [email protected] $< $(CFLAGS) 

tree: $(OBJ) 
    $(CC) -o [email protected] $^ $(CFLAGS) 

clean: 
    rm -f *.o tree 

지금 나는 그것이 메이크 내부 doxygen이의 문서를 생성하기 위해 나중에 이진 트리의 기능뿐만 아니라 객체 파이 르 라이브러리를 생성하고 만들고 싶어 : 또한, I는 메이크있다. 어떤 도움이 도움이 될 것입니다. 각

term: [dep] 
    action 

은 대상, Makefile의

:

답변

1

글쎄, 난 정말 doxygen이 명령에 대한 구문을 모르는, 그래서 나는 일반적인 대답을 할 수 있습니다.

make doc 

이제

(doc 여기에 대상의 이름 인) : 당신은 사용하여 문서를 생성 할 수

doc: $(OBJ) 
    doxygen with-correct-options 

:

그래서 당신은 뭔가를 추가하는 경우 , 추가하는 경우 :

all: tree doc 
    @echo "Generating program and doc." 
:

단순히 결국

make 

를 호출하여 생성 프로그램 문서를해야합니다, 당신의 메이크의 사용을 가질 수 추가 한 Statment이있다. 그것은 "많은 대상 중 하나를 파일을 직접 생성하지 않는 것으로 표시하고 대상과 동일한 이름을 가진 파일이 존재하는 경우에도 실행되도록 보장하는 방법"입니다. 다른 측면에서, 그것은 doc, clean 또는 all라는 이름의 파일이 존재하는 경우에도 doc, clean 또는 all항상이 실행됩니다 있는지 확인합니다.

.PHONY: all clean doc 

그리고 보통 메이크 파일의 마지막에 넣어 :

그것의 구문은 다음과 같다.

8

나는 나의 대답이 조금 늦다는 것을 안다. 그러나 나는 누군가가 이것으로부터 혜택을 받기를 희망한다.

Doxygen doc을 생성하는 메이크 파일이 있습니다. 그런 다음, 당신의 필요에 맞는 Doxygen을 설정 파일을 작성 편집기에서 그를 열고 (그들은 나중에 메이크 파일에 의해 추가됩니다)

INPUT 
FILE_PATTERNS 
다음과 같은 두 가지 설정을 containg 라인을 제거 Doxygen을에게 조금의 트위스트해야

당신은 당신은 소스의 목록과를있는 디렉토리를 필요 메이크에 내가 Doxyfile.mk

사용하여 다른 이름으로이 행을

@INCLUDE = doxyfile.inc 

저장이 파일을 추가예를

SRCS = $(OBJS:.o=.c) 
SRCDIRS = ./src 
SRCDIRS += ./other_src 

지금 당신은 당신은 Doxyfile.mk에서 제거 설정이 포함 된 파일 doxyfile.inc을 만들 것입니다, 메이크에서이 규칙을 넣을 수 있습니다.

.PHONY: all clean distclean doxy 

# If makefile changes, maybe the list of sources has changed, so update doxygens list 
doxyfile.inc: Makefile.mk 
     echo INPUT   = $(SRCDIRS) > doxyfile.inc 
     echo FILE_PATTERNS = *.h $(SRCS) >> doxyfile.inc 

doxy: doxyfile.inc $(SRCS) 
     doxygen.exe doxyfile.mk 

보너스 : Eclipse와 같은 IDE 내부에서 실행하면 Doxygen이 뱉어내는 오류가 클릭 가능 해지고 나쁜 댓글로 이동합니다.

관련 문제