]> git.donarmstrong.com Git - qmk_firmware.git/blob - protocol/lufa/LUFA-120730/LUFA/Build/lufa_doxygen.mk
Change TOP_DIR to TMK_DIR in makefiles
[qmk_firmware.git] / protocol / lufa / LUFA-120730 / LUFA / Build / lufa_doxygen.mk
1 #\r
2 #             LUFA Library\r
3 #     Copyright (C) Dean Camera, 2012.\r
4 #\r
5 #  dean [at] fourwalledcubicle [dot] com\r
6 #           www.lufa-lib.org\r
7 #\r
8 \r
9 LUFA_BUILD_MODULES         += DOXYGEN\r
10 LUFA_BUILD_TARGETS         += doxygen\r
11 LUFA_BUILD_MANDATORY_VARS  += LUFA_PATH\r
12 LUFA_BUILD_OPTIONAL_VARS   += DOXYGEN_CONF DOXYGEN_FAIL_ON_WARNING DOXYGEN_OVERRIDE_PARAMS\r
13 LUFA_BUILD_PROVIDED_VARS   += \r
14 LUFA_BUILD_PROVIDED_MACROS += \r
15 \r
16 # -----------------------------------------------------------------------------\r
17 #                 LUFA Doxygen Buildsystem Makefile Module.\r
18 # -----------------------------------------------------------------------------\r
19 # DESCRIPTION:\r
20 #   Provides a set of targets to automatically build Doxygen documentation for\r
21 #   a project (see www.doxygen.org).\r
22 # -----------------------------------------------------------------------------\r
23 # TARGETS:\r
24 #\r
25 #    doxygen                   - Build Doxygen Documentation\r
26 #\r
27 # MANDATORY PARAMETERS:\r
28 #\r
29 #    LUFA_PATH                 - Path to the LUFA library core\r
30 #\r
31 # OPTIONAL PARAMETERS:\r
32 #\r
33 #    DOXYGEN_CONF              - Doxygen configuration filename\r
34 #    DOXYGEN_FAIL_ON_WARNING   - Set to Y to fail the build on Doxygen warnings,\r
35 #                                N to continue even if warnings occur\r
36 #    DOXYGEN_OVERRIDE_PARAMS   - Parameters to override in the doxygen\r
37 #                                configuration file\r
38 # PROVIDED VARIABLES:\r
39 #\r
40 #    (None)\r
41 #\r
42 # PROVIDED MACROS:\r
43 #\r
44 #    (None)\r
45 #\r
46 # -----------------------------------------------------------------------------\r
47 \r
48 SHELL = /bin/sh\r
49 \r
50 ERROR_IF_UNSET   ?= $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))\r
51 ERROR_IF_EMPTY   ?= $(if $(strip $($(strip $(1)))), , $(error Makefile $(strip $(1)) option cannot be blank))\r
52 ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N))\r
53 \r
54 # Default values of optionally user-supplied variables\r
55 DOXYGEN_CONF            ?= Doxygen.conf\r
56 DOXYGEN_FAIL_ON_WARNING ?= Y\r
57 DOXYGEN_OVERRIDE_PARAMS ?= QUIET=YES HTML_STYLESHEET=$(patsubst %/,%,$(LUFA_PATH))/DoxygenPages/Style/Style.css\r
58 \r
59 # Sanity check user supplied values\r
60 $(foreach MANDATORY_VAR, $(LUFA_BUILD_MANDATORY_VARS), $(call ERROR_IF_UNSET, $(MANDATORY_VAR)))\r
61 $(call ERROR_IF_EMPTY, DOXYGEN_CONF)\r
62 $(call ERROR_IF_EMPTY, LUFA_PATH)\r
63 $(call ERROR_IF_NONBOOL, DOXYGEN_FAIL_ON_WARNING)\r
64 \r
65 # Output Messages\r
66 MSG_DOXYGEN_CMD         := ' [DOXYGEN] :'\r
67 \r
68 # Determine Doxygen invocation command\r
69 BASE_DOXYGEN_CMD := ( cat $(DOXYGEN_CONF) $(DOXYGEN_OVERRIDE_PARAMS:%=; echo "%") ) | doxygen -\r
70 ifeq ($(DOXYGEN_FAIL_ON_WARNING), Y)\r
71    DOXYGEN_CMD := if ( $(BASE_DOXYGEN_CMD) 2>&1 | grep -v "warning: ignoring unsupported tag" ;); then exit 1; fi;\r
72 else\r
73    DOXYGEN_CMD := $(BASE_DOXYGEN_CMD)\r
74 endif\r
75 \r
76 doxygen:\r
77         @echo $(MSG_DOXYGEN_CMD) Configuration file \"$(DOXYGEN_CONF)\" with parameters \"$(DOXYGEN_OVERRIDE_PARAMS)\"\r
78         $(DOXYGEN_CMD)\r
79 \r
80 # Phony build targets for this module\r
81 .PHONY: doxygen\r