# Copyright (C) 2014 Free Software Foundation, Inc.

# Doxygen file for a GDBserver cross-reference.
# This file is part of GDB.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

@INCLUDE = Doxyfile-base

PROJECT_NAME = "GDBserver"

# Override the general include path.

INCLUDE_PATH = @srcdir@/../common @srcdir@/../../include/

# Include just the directories that go into GDBserver.

INPUT = @srcdir@/../gdbserver @srcdir@/../common @srcdir@/../nat

# Override the generic exclude list.
# gdbreplay is its own program, avoid duplicate symbols.

EXCLUDE = @srcdir@/../gdbserver/gdbreplay.c

HTML_OUTPUT = ./doxy/gdbserver

# Build a full cross-reference.

REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
REFERENCES_LINK_SOURCE = NO

EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
