# # LUFA Library # Copyright (C) Dean Camera, 2012. # # dean [at] fourwalledcubicle [dot] com # www.lufa-lib.org # LUFA_BUILD_MODULES += DOXYGEN LUFA_BUILD_TARGETS += doxygen LUFA_BUILD_MANDATORY_VARS += LUFA_PATH LUFA_BUILD_OPTIONAL_VARS += DOXYGEN_CONF DOXYGEN_FAIL_ON_WARNING DOXYGEN_OVERRIDE_PARAMS # ----------------------------------------------------------------------------- # LUFA Doxygen Buildsystem Makefile Module. # ----------------------------------------------------------------------------- # DESCRIPTION: # Provides a set of targets to automatically build Doxygen documentation for # a project (see www.doxygen.org). # ----------------------------------------------------------------------------- # TARGETS: # # doxygen - Build Doxygen Documentation # # MANDATORY PARAMETERS: # # LUFA_PATH - Path to the LUFA library core # # OPTIONAL PARAMETERS: # # DOXYGEN_CONF - Doxygen configuration filename # DOXYGEN_FAIL_ON_WARNING - Set to Y to fail the build on Doxygen warnings, # N to continue even if warnings occur # DOXYGEN_OVERRIDE_PARAMS - Parameters to override in the doxygen # configuration file # ----------------------------------------------------------------------------- # Sanity-check values of mandatory user-supplied variables LUFA_PATH ?= $(error Makefile LUFA_PATH value not set) # Default values of optionally user-supplied variables DOXYGEN_CONF ?= Doxygen.conf DOXYGEN_FAIL_ON_WARNING ?= Y DOXYGEN_OVERRIDE_PARAMS ?= QUIET=YES HTML_STYLESHEET=$(patsubst %/,%,$(LUFA_PATH))/DoxygenPages/Style/Style.css # Output Messages MSG_DOXYGEN_CMD := ' [DOXYGEN] :' # Determine Doxygen invocation command BASE_DOXYGEN_CMD = ( cat Doxygen.conf $(DOXYGEN_OVERRIDE_PARAMS:%=; echo "%") ) | doxygen - ifeq ($(DOXYGEN_FAIL_ON_WARNING), Y) DOXYGEN_CMD = if ( $(BASE_DOXYGEN_CMD) 2>&1 | grep -v "warning: ignoring unsupported tag" ;); then exit 1; fi; else ifeq ($(DOXYGEN_FAIL_ON_WARNING), N) DOXYGEN_CMD = $(BASE_DOXYGEN_CMD) else $(error DOXYGEN_FAIL_ON_WARNING must be Y or N.) endif doxygen: @echo $(MSG_DOXYGEN_CMD) Configuration file \"$(DOXYGEN_CONF)\" with parameters \"$(DOXYGEN_OVERRIDE_PARAMS)\" $(DOXYGEN_CMD) # Phony build targets for this module .PHONY: doxygen