2016-11-23 10 views
1

doxygenを使用してビルドシステムを文書化しようとしています。私が見つけた唯一の役に立つヒントは次のとおりです。Doxygenはmakefile内のよく書かれたコメントを無視します

Can doxygen be used to document makefile templates and include *.mk file interfaces?

私は私のDoxyfileというの編集にπάντα ῥεῖ答えを使用:

FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.h *.hpp *.h++ *.md *.markdown *.mk 
INPUT_FILTER = "sed -e 's|##|//!|'" 
FILTER_PATTERNS = 
FILTER_SOURCE_FILES = YES 

が、私のドキュメントは、これを生成します。

//! 
//! @file environment.mk 
//! @brief Environment variables and definitions for the build system 
//! 
//! Insert detailed descritpion here 
//! 
//! @date 23.11.2016 
//! @author @kgoedde 
//! 

//! 
//! @cond 
//! 
# always the project directory 
export top   = $(abspath $(shell pwd)) 
export project_name = $(notdir $(shell pwd)) 


# Setting compiler and linker 
CXX = clang++ 
LD = clang++ 
AR = ar 

CXXFLAGS = -O0 -g3 -Wall -c -fmessage-length=0 -fPIC -std=c++14 -pthread 
TCXXFLAGS = -Wall -c -fmessage-length=0 -fPIC -std=c++14 -pthread 

LDFLAGS = -pthread 
TLDFLAGS = -pthread 

ARFLAGS = -rs 

# Standard include paths 
INCDIRS  = ${top}/include/thirdparty ${top}/include/main 
TINCDIRS = ${INCDIRS} ${top}/include/test 

# Stadard library paths 
LIBDIRS = /usr/lib64 
//! 
//! @endcond 
//! 

だから、使用しましたフィルタを適用したが、コメントを処理しなかった。 doxygenのドキュメントはこの時点ではまばらですが、誰かが私が間違っているアイディアを持っていますか?代わりの

INPUT_FILTER = "sed -e 's|##|//!|'" 

私は

FILTER_PATTERNS = *.mk="sed -e 's|##|//!|'" 
を設定します。

は(興味のある人のために)私は1つの追加の事を学んだ Arthurの助けを借りた後、

甲斐


をありがとう

これは* .mkファイルのみをフィルタリングします:-)。

第H、

甲斐

答えて

1

あなたのファイルの拡張子はサポートされ拡張されていない、まだ.mkです。

としてはFILE_PATTERNSためとINPUT_FILTERために注意:

# Note that for custom extensions or not directly supported extensions you also 
# need to set EXTENSION_MAPPING for the extension otherwise the files are not 
# read by doxygen. 

をだから、あなたはそれはあなたに感謝:-)作品

EXTENSION_MAPPING = mk=c 
+0

を追加する必要があります! – goeddek

関連する問題