diff --git a/LUFA.pnproj b/LUFA.pnproj
index 1fac2d332c..1bdc23af41 100644
--- a/LUFA.pnproj
+++ b/LUFA.pnproj
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/LUFA/Build/lufa.atprogram.in b/LUFA/Build/lufa.atprogram.in
index d7acc56ecb..95b0a9702f 100644
--- a/LUFA/Build/lufa.atprogram.in
+++ b/LUFA/Build/lufa.atprogram.in
@@ -6,10 +6,12 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += ATPROGRAM
-LUFA_BUILD_TARGETS += atprogram atprogram-ee
-LUFA_BUILD_MANDATORY_VARS += MCU TARGET
-LUFA_BUILD_OPTIONAL_VARS += ATPROGRAM_PROGRAMMER ATPROGRAM_INTERFACE ATPROGRAM_PORT
+LUFA_BUILD_MODULES += ATPROGRAM
+LUFA_BUILD_TARGETS += atprogram atprogram-ee
+LUFA_BUILD_MANDATORY_VARS += MCU TARGET
+LUFA_BUILD_OPTIONAL_VARS += ATPROGRAM_PROGRAMMER ATPROGRAM_INTERFACE ATPROGRAM_PORT
+LUFA_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA ATPROGRAM Programmer Buildsystem Makefile Module.
@@ -36,6 +38,14 @@ LUFA_BUILD_OPTIONAL_VARS += ATPROGRAM_PROGRAMMER ATPROGRAM_INTERFACE ATPROGRAM_
# ATPROGRAM_INTERFACE - Name of programming interface to use
# ATPROGRAM_PORT - Name of communication port to use
#
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/lufa.avrdude.in b/LUFA/Build/lufa.avrdude.in
index 12d118adcc..1aa85c113b 100644
--- a/LUFA/Build/lufa.avrdude.in
+++ b/LUFA/Build/lufa.avrdude.in
@@ -6,10 +6,12 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += AVRDUDE
-LUFA_BUILD_TARGETS += avrdude avrdude-ee
-LUFA_BUILD_MANDATORY_VARS += MCU TARGET
-LUFA_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
+LUFA_BUILD_MODULES += AVRDUDE
+LUFA_BUILD_TARGETS += avrdude avrdude-ee
+LUFA_BUILD_MANDATORY_VARS += MCU TARGET
+LUFA_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
+LUFA_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA AVRDUDE Programmer Buildsystem Makefile Module.
@@ -36,6 +38,14 @@ LUFA_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
# AVRDUDE_PORT - Name of communication port to use
# AVRDUDE_FLAGS - Flags to pass to avr-dude
#
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/lufa.build.in b/LUFA/Build/lufa.build.in
index 62e902adb0..1c5df4f2e1 100644
--- a/LUFA/Build/lufa.build.in
+++ b/LUFA/Build/lufa.build.in
@@ -6,10 +6,12 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += BUILD
-LUFA_BUILD_TARGETS += size symbol-sizes all elf hex lss clean
-LUFA_BUILD_MANDATORY_VARS += TARGET ARCH MCU SRC F_USB LUFA_PATH
-LUFA_BUILD_OPTIONAL_VARS += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_FLAGS CPP_FLAGS ASM_FLAGS CC_FLAGS LD_FLAGS
+LUFA_BUILD_MODULES += BUILD
+LUFA_BUILD_TARGETS += size symbol-sizes all elf hex lss clean
+LUFA_BUILD_MANDATORY_VARS += TARGET ARCH MCU SRC F_USB LUFA_PATH
+LUFA_BUILD_OPTIONAL_VARS += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_FLAGS CPP_FLAGS ASM_FLAGS CC_FLAGS LD_FLAGS
+LUFA_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA GCC Compiler Buildsystem Makefile Module.
@@ -53,6 +55,14 @@ LUFA_BUILD_OPTIONAL_VARS += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_
# assembler
# LD_FLAGS - Flags to pass to the linker
#
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/lufa.core.in b/LUFA/Build/lufa.core.in
index 57be125422..dab0865e01 100644
--- a/LUFA/Build/lufa.core.in
+++ b/LUFA/Build/lufa.core.in
@@ -6,10 +6,12 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += CORE
-LUFA_BUILD_TARGETS += help list_targets list_modules list_mandatory list_optional
-LUFA_BUILD_MANDATORY_VARS +=
-LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_MODULES += CORE
+LUFA_BUILD_TARGETS += help list_targets list_modules list_mandatory list_optional list_provided list_macros
+LUFA_BUILD_MANDATORY_VARS +=
+LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA Core Build System Makefile Module.
@@ -26,6 +28,10 @@ LUFA_BUILD_OPTIONAL_VARS +=
# the included build modules of the application
# list_optional - List all optional make variables required by
# the included build modules of the application
+# list_provided - List all provided make variables from the
+# included build modules of the application
+# list_macros - List all provided make macros from the
+# included build modules of the application
#
# MANDATORY PARAMETERS:
#
@@ -35,13 +41,23 @@ LUFA_BUILD_OPTIONAL_VARS +=
#
# (None)
#
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
# Build sorted and filtered lists of the included build module data
-SORTED_LUFA_BUILD_MODULES = $(sort $(LUFA_BUILD_MODULES))
-SORTED_LUFA_BUILD_TARGETS = $(sort $(LUFA_BUILD_TARGETS))
-SORTED_LUFA_MANDATORY_VARS = $(sort $(LUFA_BUILD_MANDATORY_VARS))
-SORTED_LUFA_OPTIONAL_VARS = $(filter-out $(SORTED_LUFA_MANDATORY_VARS), $(sort $(LUFA_BUILD_OPTIONAL_VARS)))
+SORTED_LUFA_BUILD_MODULES = $(sort $(LUFA_BUILD_MODULES))
+SORTED_LUFA_BUILD_TARGETS = $(sort $(LUFA_BUILD_TARGETS))
+SORTED_LUFA_MANDATORY_VARS = $(sort $(LUFA_BUILD_MANDATORY_VARS))
+SORTED_LUFA_OPTIONAL_VARS = $(filter-out $(SORTED_LUFA_MANDATORY_VARS), $(sort $(LUFA_BUILD_OPTIONAL_VARS)))
+SORTED_LUFA_PROVIDED_VARS = $(sort $(LUFA_BUILD_PROVIDED_VARS))
+SORTED_LUFA_PROVIDED_MACROS = $(sort $(LUFA_BUILD_PROVIDED_MACROS))
help:
@echo "==================================================================="
@@ -85,6 +101,16 @@ help:
@echo " "
@printf " %b" "$(SORTED_LUFA_OPTIONAL_VARS:%= - %\n)"
@echo " "
+ @echo " "
+ @echo " Variables provided by the selected build Modules: "
+ @echo " "
+ @printf " %b" "$(SORTED_LUFA_PROVIDED_VARS:%= - %\n)"
+ @echo " "
+ @echo " "
+ @echo " Macros provided by the selected build Modules: "
+ @echo " "
+ @printf " %b" "$(SORTED_LUFA_PROVIDED_MACROS:%= - %\n)"
+ @echo " "
@echo "==================================================================="
@echo " The LUFA BuildSystem 2.0 - Powered By Unicorns (tm) "
@echo "==================================================================="
@@ -101,9 +127,15 @@ list_mandatory:
list_optional:
@echo Optional Variables for Included Modules: $(SORTED_LUFA_OPTIONAL_VARS)
+list_provided:
+ @echo Variables Provided by the Included Modules $(SORTED_LUFA_PROVIDED_VARS)
+
+list_macros:
+ @echo Macros Provided by the Included Modules $(SORTED_LUFA_PROVIDED_MACROS)
+
# Disable default in-built make rules (those that are needed are explicitly
# defined, and doing so has performance benefits when recursively building)
.SUFFIXES:
# Phony build targets for this module
-.PHONY: help list_modules list_targets list_mandatory list_optional
+.PHONY: help list_modules list_targets list_mandatory list_optional list_provided list_macros
diff --git a/LUFA/Build/lufa.cppcheck.in b/LUFA/Build/lufa.cppcheck.in
index dcc2de9ea8..5739d69659 100644
--- a/LUFA/Build/lufa.cppcheck.in
+++ b/LUFA/Build/lufa.cppcheck.in
@@ -6,11 +6,13 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += CPPCHECK
-LUFA_BUILD_TARGETS += cppcheck cppcheck-config
-LUFA_BUILD_MANDATORY_VARS += SRC
-LUFA_BUILD_OPTIONAL_VARS += CPPCHECK_INCLUDES CPPCHECK_EXCLUDES CPPCHECK_MSG_TEMPLATE CPPCHECK_ENABLE \
- CPPCHECK_SUPPRESS CPPCHECK_FAIL_ON_WARNING CPPCHECK_QUIET CPPCHECK_FLAGS
+LUFA_BUILD_MODULES += CPPCHECK
+LUFA_BUILD_TARGETS += cppcheck cppcheck-config
+LUFA_BUILD_MANDATORY_VARS += SRC
+LUFA_BUILD_OPTIONAL_VARS += CPPCHECK_INCLUDES CPPCHECK_EXCLUDES CPPCHECK_MSG_TEMPLATE CPPCHECK_ENABLE \
+ CPPCHECK_SUPPRESS CPPCHECK_FAIL_ON_WARNING CPPCHECK_QUIET CPPCHECK_FLAGS
+LUFA_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA CPPCheck Buildsystem Makefile Module.
@@ -42,6 +44,14 @@ LUFA_BUILD_OPTIONAL_VARS += CPPCHECK_INCLUDES CPPCHECK_EXCLUDES CPPCHECK_MSG_TE
# CPPCHECK_QUIET - Enable cppcheck verbose or quiet output mode
# CPPCHECK_FLAGS - Additional flags to pass to cppcheck
#
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/lufa.dfu.in b/LUFA/Build/lufa.dfu.in
index f7c1ef7055..7eb1fa08e2 100644
--- a/LUFA/Build/lufa.dfu.in
+++ b/LUFA/Build/lufa.dfu.in
@@ -6,10 +6,12 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += DFU
-LUFA_BUILD_TARGETS += flip flip-ee dfu dfu-ee
-LUFA_BUILD_MANDATORY_VARS += MCU TARGET
-LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_MODULES += DFU
+LUFA_BUILD_TARGETS += flip flip-ee dfu dfu-ee
+LUFA_BUILD_MANDATORY_VARS += MCU TARGET
+LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA DFU Bootloader Buildsystem Makefile Module.
@@ -34,6 +36,14 @@ LUFA_BUILD_OPTIONAL_VARS +=
#
# (None)
#
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/lufa.doxygen.in b/LUFA/Build/lufa.doxygen.in
index 99281a7bb5..2d8c28db32 100644
--- a/LUFA/Build/lufa.doxygen.in
+++ b/LUFA/Build/lufa.doxygen.in
@@ -6,10 +6,12 @@
# 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_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_BUILD_PROVIDED_VARS +=
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA Doxygen Buildsystem Makefile Module.
@@ -33,6 +35,14 @@ LUFA_BUILD_OPTIONAL_VARS += DOXYGEN_CONF DOXYGEN_FAIL_ON_WARNING DOXYGEN_OVERRI
# N to continue even if warnings occur
# DOXYGEN_OVERRIDE_PARAMS - Parameters to override in the doxygen
# configuration file
+# PROVIDED VARIABLES:
+#
+# (None)
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/lufa.sources.in b/LUFA/Build/lufa.sources.in
index 6ca480bce5..d5316ba87c 100644
--- a/LUFA/Build/lufa.sources.in
+++ b/LUFA/Build/lufa.sources.in
@@ -6,10 +6,12 @@
# www.lufa-lib.org
#
-LUFA_BUILD_MODULES += SOURCES
-LUFA_BUILD_TARGETS +=
-LUFA_BUILD_MANDATORY_VARS += LUFA_PATH ARCH
-LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_MODULES += SOURCES
+LUFA_BUILD_TARGETS +=
+LUFA_BUILD_MANDATORY_VARS += LUFA_PATH ARCH
+LUFA_BUILD_OPTIONAL_VARS +=
+LUFA_BUILD_PROVIDED_VARS += LUFA_SRC_USB LUFA_SRC_USBCLASS LUFA_SRC_TEMPERATURE LUFA_SRC_SERIAL LUFA_SRC_TWI LUFA_SRC_PLATFORM
+LUFA_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA Sources Buildsystem Makefile Module.
@@ -33,6 +35,21 @@ LUFA_BUILD_OPTIONAL_VARS +=
#
# (None)
#
+# PROVIDED VARIABLES:
+#
+# LUFA_SRC_USB - List of LUFA USB driver source files
+# LUFA_SRC_USBCLASS - List of LUFA USB Class driver source files
+# LUFA_SRC_TEMPERATURE - List of LUFA temperature sensor driver source
+# files
+# LUFA_SRC_SERIAL - List of LUFA Serial U(S)ART driver source files
+# LUFA_SRC_TWI - List of LUFA TWI driver source files
+# LUFA_SRC_PLATFORM - List of LUFA architecture specific platform
+# management source files
+#
+# PROVIDED MACROS:
+#
+# (None)
+#
# -----------------------------------------------------------------------------
ERROR_IF_UNSET = $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))
diff --git a/LUFA/Build/BuildSystem.txt b/LUFA/DoxygenPages/BuildSystem.txt
similarity index 83%
rename from LUFA/Build/BuildSystem.txt
rename to LUFA/DoxygenPages/BuildSystem.txt
index 1c4eb874e1..fe29aeb00b 100644
--- a/LUFA/Build/BuildSystem.txt
+++ b/LUFA/DoxygenPages/BuildSystem.txt
@@ -163,6 +163,22 @@
*
Flags to pass to the linker, after the automatically generated flags. |
*
*
+ *
+ * \section SSec_BuildModule_BUILD_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_BUILD_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_CORE The CORE build module
@@ -201,6 +217,14 @@
* list_optional |
* List all optional parameters required by the included modules. |
*
+ *
+ * list_provided |
+ * List all variables provided by the included modules. |
+ *
+ *
+ * list_macros |
+ * List all macros provided by the included modules. |
+ *
*
*
* \section SSec_BuildModule_CORE_MandatoryParams Mandatory Parameters
@@ -218,6 +242,22 @@
* None |
*
*
+ *
+ * \section SSec_BuildModule_CORE_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_CORE_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_ATPROGRAM The ATPROGRAM build module
@@ -277,6 +317,22 @@
* Name of the communication port to use when when programming with a serially connected tool (e.g. COM2). |
*
*
+ *
+ * \section SSec_BuildModule_ATPROGRAM_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_ATPROGRAM_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_AVRDUDE The AVRDUDE build module
@@ -337,6 +393,22 @@
* Additional flags to pass to avrdude when programming, applied after the automatically generated flags. |
*
*
+ *
+ * \section SSec_BuildModule_AVRDUDE_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_AVRDUDE_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_CPPCHECK The CPPCHECK build module
@@ -413,6 +485,22 @@
* Extra flags to pass to cppcheck, after the automatically generated flags. |
*
*
+ *
+ * \section SSec_BuildModule_CPPCHECK_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_CPPCHECK_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_DFU The DFU build module
@@ -473,6 +561,22 @@
* None |
*
*
+ *
+ * \section SSec_BuildModule_DFU_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_DFU_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_DOXYGEN The DOXYGEN build module
@@ -526,6 +630,22 @@
* Extra Doxygen configuration parameters to apply, overriding the corresponding config entry in the project's configuration file (e.g. QUIET=YES). |
*
*
+ *
+ * \section SSec_BuildModule_DOXYGEN_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * \section SSec_BuildModule_DOXYGEN_ProvidedMacros Module Provided Macros
+ *
+ *
*/
/** \page Page_BuildModule_SOURCES The SOURCES build module
@@ -571,4 +691,41 @@
* None |
*
*
+ *
+ * \section SSec_BuildModule_SOURCES_ProvideVariables Module Provided Variables
+ *
+ *
+ *
+ * LUFA_SRC_USB |
+ * List of LUFA USB driver source files. |
+ *
+ *
+ * LUFA_SRC_USBCLASS |
+ * List of LUFA USB Class driver source files. |
+ *
+ *
+ * LUFA_SRC_TEMPERATURE |
+ * List of LUFA temperature sensor driver source files. |
+ *
+ *
+ * LUFA_SRC_SERIAL |
+ * List of LUFA Serial U(S)ART driver source files. |
+ *
+ *
+ * LUFA_SRC_TWI |
+ * List of LUFA TWI driver source files. |
+ *
+ *
+ * LUFA_SRC_PLATFORM |
+ * List of LUFA architecture specific platform management source files. |
+ *
+ *
+ *
+ * \section SSec_BuildModule_SOURCES_ProvidedMacros Module Provided Macros
+ *
+ *
*/