# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
# to the output directory.
-PROJECT_LOGO = contrib/sigrok-logo-notext.png
+PROJECT_LOGO = contrib/libsigrok_112x112.png
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
-OUTPUT_DIRECTORY = doxy
+OUTPUT_DIRECTORY = $(BUILDDIR)doxy
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
# performance problems for the file system.
# The default value is: NO.
-CREATE_SUBDIRS = YES
+CREATE_SUBDIRS = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-STRIP_FROM_PATH =
+STRIP_FROM_PATH = . $(BUILDDIR)
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
# documentation.
# The default value is: YES.
-GENERATE_TODOLIST = YES
+GENERATE_TODOLIST = NO
# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
# test list. This list is created by putting \test commands in the
# spaces.
# Note: If this tag is empty the current directory is searched.
-INPUT = .
+INPUT = $(SRCDIR)src $(SRCDIR)include $(BUILDDIR)include/libsigrok
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
# *.qsf, *.as and *.js.
-FILE_PATTERNS =
+# BEWARE! DON'T set the variable to an empty value. Don't set the variable
+# at all instead. See https://github.com/doxygen/doxygen/issues/7190 and
+# https://sigrok.org/bugzilla/show_bug.cgi?id=1422 (can get reverted when
+# the Doxygen version which causes the issue no longer is used in the wild).
+## FILE_PATTERNS =
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# run.
EXCLUDE = config.h src/libsigrok-internal.h src/session_driver.c
-EXCLUDE += src/std.c src/drivers.c src/ezusb.c src/serial.c
-EXCLUDE += src/soft-trigger.c src/usb.c
+EXCLUDE += src/std.c src/drivers.c src/ezusb.c src/fallback.c
+EXCLUDE += src/soft-trigger.c src/usb.c src/sw_limits.c
+EXCLUDE += src/scpi.h
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
# - src/std.c: Non-public helpers, no public API stuff in there.
# - src/drivers.c: Non-public helpers, no public API stuff in there.
# - src/ezusb.c: Non-public helpers, no public API stuff in there.
-# - src/serial.c: Non-public helpers, no public API stuff in there.
+# - src/fallback.c: Fallback functions to API calls from serial.c.
# - src/soft-trigger.c: Non-public helpers, no public API stuff in there.
# - src/usb.c: Non-public helpers, no public API stuff in there.
+# - src/sw_limits.c: Non-public helpers, no public API stuff in there.
+# - src/scpi.h: Non-public helpers, no public API stuff in there.
# - src/hardware/*: Only driver-specific stuff, no public API stuff in there.
# - src/input/*: Only input.c contains public API, everything else doesn't.
# - src/output/*: Only output.c contains public API, everything else doesn't.
+# - src/transform/*: Only transform.c contains public API, everything else doesn't.
# - src/scpi/*: Non-public helpers, no public API stuff in there.
# - src/dmm/*: Non-public helpers, no public API stuff in there.
+# - src/lcr/*: Non-public helpers, no public API stuff in there.
+# - src/modbus/*: Non-public helpers, no public API stuff in there.
+# - src/scale/*: Non-public helpers, no public API stuff in there.
# - tests/*: Unit tests, no public API stuff in there.
# - bindings/*: Language bindings, no public API stuff in there.
# - doxy/*: Potentially already generated docs, should not be scanned.
#
-EXCLUDE_PATTERNS = */hardware/* */input/* */output/* */scpi/* */dmm/*
-EXCLUDE_PATTERNS += */tests/* */bindings/* */doxy/*
+EXCLUDE_PATTERNS = */src/hardware/* */src/input/* */src/output/* */src/transform/*
+EXCLUDE_PATTERNS += */src/scpi/* */src/dmm/* */src/lcr/*
+EXCLUDE_PATTERNS += */src/modbus/* */src/scale/*
+EXCLUDE_PATTERNS += */src/tests/* */src/bindings/* */src/doxy/*
INPUT += src/input/input.c src/output/output.c
+INPUT += src/transform/transform.c
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the