#-----------------------------------------------------------------------------
#
#  TSDuck - The MPEG Transport Stream Toolkit
#  Copyright (c) 2005-2020, Thierry Lelegard
#  All rights reserved.
#
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions are met:
#
#  1. Redistributions of source code must retain the above copyright notice,
#     this list of conditions and the following disclaimer.
#  2. Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
#  THE POSSIBILITY OF SUCH DAMAGE.
#
#-----------------------------------------------------------------------------
# 
#  Doxygen configuration file for TSDuck.
#  For detailed explanations on each tag, see doxy-defaults.conf.
#  We document only public members, this is user documentation for libtsduck.
# 
#-----------------------------------------------------------------------------

@INCLUDE = doxy-defaults.conf

# Project description:

PROJECT_NAME   = "TSDuck"
PROJECT_NUMBER = "Version $(TS_FULL_VERSION)"
PROJECT_BRIEF  = "TSDuck - The MPEG Transport Stream Toolkit"
PROJECT_LOGO   = ../images/tsduck-32.png

# Input and output files:

FILE_PATTERNS    = *.h *.dox *.md
EXCLUDE_PATTERNS = *Template.h tsduck.h
INPUT            = ../src/doc ../src/libtsduck ../src/tstools
RECURSIVE        = YES
IMAGE_PATH       = ../images
OUTPUT_DIRECTORY = ../bin/doxy
EXCLUDE          = ../src/libtsduck/dtv/private \
                   ../src/libtsduck/plugin/private
INCLUDE_PATH     = ../src/libtsduck \
                   ../src/libtsduck/base \
                   ../src/libtsduck/base/json \
                   ../src/libtsduck/base/linux \
                   ../src/libtsduck/base/mac \
                   ../src/libtsduck/base/network \
                   ../src/libtsduck/base/unix \
                   ../src/libtsduck/base/windows \
                   ../src/libtsduck/base/xml \
                   ../src/libtsduck/crypto \
                   ../src/libtsduck/dtv \
                   ../src/libtsduck/dtv/charset \
                   ../src/libtsduck/dtv/descriptors \
                   ../src/libtsduck/dtv/dvbsimulcrypt \
                   ../src/libtsduck/dtv/linux \
                   ../src/libtsduck/dtv/mac \
                   ../src/libtsduck/dtv/tables \
                   ../src/libtsduck/dtv/windows \
                   ../src/libtsduck/plugin

# Creating subdirs is useful to create a more balanced usage of the file system.
# The problem is that it is hard to predict stable direct links to useful pages
# such as "building TSDuck". So, this option is now disabled.
CREATE_SUBDIRS = NO

# Error reporting:

QUIET                = YES
WARN_NO_PARAMDOC     = YES
WARN_IF_UNDOCUMENTED = YES

# Source code analysis:

JAVADOC_AUTOBRIEF      = YES
EXTRACT_ALL            = NO
EXTRACT_PRIVATE        = NO
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = NO
EXTRACT_ANON_NSPACES   = NO
HIDE_FRIEND_COMPOUNDS  = YES
INTERNAL_DOCS          = NO
INHERIT_DOCS           = YES
INLINE_INHERITED_MEMB  = YES
MACRO_EXPANSION        = YES
PREDEFINED            += DOXYGEN

# Generated documentation format:

GENERATE_LATEX         = NO
GENERATE_HTML          = YES
HTML_HEADER            = doxy-header.html
HTML_FOOTER            = doxy-footer.html
HTML_EXTRA_STYLESHEET  = doxy-style.css
HTML_COLORSTYLE_HUE    = 150
HTML_COLORSTYLE_SAT    = 100
HTML_COLORSTYLE_GAMMA  = 125
VERBATIM_HEADERS       = NO
DISABLE_INDEX          = YES
GENERATE_TREEVIEW      = YES
MARKDOWN_SUPPORT       = YES
TOC_INCLUDE_HEADINGS   = 3
ENUM_VALUES_PER_LINE   = 1
TYPEDEF_HIDES_STRUCT   = YES
SHOW_INCLUDE_FILES     = NO
FULL_PATH_NAMES        = NO
SORT_MEMBER_DOCS       = NO
SORT_BRIEF_DOCS        = YES
SORT_MEMBERS_CTORS_1ST = YES
CLASS_DIAGRAMS         = YES
CLASS_GRAPH            = YES
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
INCLUDE_GRAPH          = NO
INCLUDED_BY_GRAPH      = NO
CALL_GRAPH             = NO
CALLER_GRAPH           = NO
UML_LOOK               = NO
DOT_GRAPH_MAX_NODES    = 400
HAVE_DOT               = $(HAVE_DOT)
DOT_PATH               = $(DOT_PATH)

# Symbols which cannot easily be avoided in the code:

EXCLUDE_SYMBOLS        = TS_UNIQUE_NAME1, TS_UNIQUE_NAME2
