From 79ee9e755f1ca58d9b8c30d676ca117b5ae3d9f4 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sat, 2 Jun 2012 11:38:12 +0000
Subject: [PATCH] Add build system targets for lists of mandatory and optional
 parameters/variables.

---
 LUFA/Build/lufa.avrdude.in |  6 ++++--
 LUFA/Build/lufa.build.in   |  6 ++++--
 LUFA/Build/lufa.core.in    | 30 ++++++++++++++++++++++++++----
 LUFA/Build/lufa.dfu.in     |  6 ++++--
 LUFA/Build/lufa.doxygen.in |  6 ++++--
 LUFA/Build/lufa.sources.in |  6 ++++--
 6 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/LUFA/Build/lufa.avrdude.in b/LUFA/Build/lufa.avrdude.in
index f16a7720c..e2b8e5730 100644
--- a/LUFA/Build/lufa.avrdude.in
+++ b/LUFA/Build/lufa.avrdude.in
@@ -6,8 +6,10 @@
 #           www.lufa-lib.org
 #
 
-LUFA_BUILD_MODULES += AVRDUDE
-LUFA_BUILD_TARGETS += program
+LUFA_BUILD_MODULES        += AVRDUDE
+LUFA_BUILD_TARGETS        += program
+LUFA_BUILD_MANDATORY_VARS += MCU TARGET
+LUFA_BUILD_OPTIONAL_VARS  += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
 
 # -----------------------------------------------------------------------------
 #               LUFA DFU Bootloader Buildsystem Makefile Module.
diff --git a/LUFA/Build/lufa.build.in b/LUFA/Build/lufa.build.in
index d9d6b9fe5..c05104280 100644
--- a/LUFA/Build/lufa.build.in
+++ b/LUFA/Build/lufa.build.in
@@ -6,8 +6,10 @@
 #           www.lufa-lib.org
 #
 
-LUFA_BUILD_MODULES += BUILD
-LUFA_BUILD_TARGETS += size checksource all elf hex clean
+LUFA_BUILD_MODULES        += BUILD
+LUFA_BUILD_TARGETS        += size checksource all elf hex 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 Compiler Buildsystem Makefile Module.
diff --git a/LUFA/Build/lufa.core.in b/LUFA/Build/lufa.core.in
index 71c35e035..e4cc36407 100644
--- a/LUFA/Build/lufa.core.in
+++ b/LUFA/Build/lufa.core.in
@@ -6,8 +6,10 @@
 #           www.lufa-lib.org
 #
 
-LUFA_BUILD_MODULES += CORE
-LUFA_BUILD_TARGETS += list_targets list_modules help
+LUFA_BUILD_MODULES        += CORE
+LUFA_BUILD_TARGETS        += info help list_targets list_modules list_mandatory list_optional 
+LUFA_BUILD_MANDATORY_VARS += 
+LUFA_BUILD_OPTIONAL_VARS  += 
 
 # -----------------------------------------------------------------------------
 #               LUFA Core Buildsystem Makefile Module.
@@ -21,6 +23,10 @@ LUFA_BUILD_TARGETS += list_targets list_modules help
 #    help                      - Build system help
 #    list_targets              - List all build targets
 #    list_modules              - List all build modules
+#    list_mandatory            - List all mandatory make variables required by
+#                                the included build modules of the application
+#    list_optional             - List all optional make variables required by
+#                                the included build modules of the application
 #
 # MANDATORY PARAMETERS:
 #
@@ -53,14 +59,25 @@ help: info
 	@echo " in your project makefile. Parameters marked as optional will      "
 	@echo " assume a default value in the module if not user-assigned.        "
 	@echo "==================================================================="
-	@echo "  Currently Used Modules in this application:                      "
+	@echo "  Currently used modules in this application:                      "
 	@echo "                                                                   "
 	@echo "    [" $(sort $(LUFA_BUILD_MODULES)) "]"
 	@echo "                                                                   "
 	@echo "                                                                   "
-	@echo "  Currently Available Build Targets in this application:           "
+	@echo "  Currently available build targets in this application:           "
 	@echo "                                                                   "
 	@echo "    [" $(sort $(LUFA_BUILD_TARGETS)) "]"
+	@echo "                                                                   "
+	@echo "                                                                   "
+	@echo "  Mandatory variables required by the selected build Modules:      "
+	@echo "                                                                   "
+	@echo "    [" $(sort $(LUFA_BUILD_MANDATORY_VARS)) "]"
+	@echo "                                                                   "
+	@echo "                                                                   "
+	@echo "  Optional variables required by the selected build Modules:       "
+	@echo "                                                                   "
+	@echo "    [" $(sort $(LUFA_BUILD_OPTIONAL_VARS)) "]"
+	@echo "                                                                   "
 	@echo "==================================================================="
 	@echo "        The LUFA BuildSystem 2.0 - Powered By Unicorns (tm)        "
 	@echo "==================================================================="
@@ -71,3 +88,8 @@ list_targets:
 list_modules:
 	@echo Currently Build Modules: $(sort $(LUFA_BUILD_MODULES))
 
+list_mandatory:
+	@echo Mandatory Variables for Included Modules: $(sort $(LUFA_BUILD_MANDATORY_VARS))
+	
+list_optional:
+	@echo Optional Variables for Included Modules: $(sort $(LUFA_BUILD_OPTIONAL_VARS))
diff --git a/LUFA/Build/lufa.dfu.in b/LUFA/Build/lufa.dfu.in
index f04472e3b..ac5edeadc 100644
--- a/LUFA/Build/lufa.dfu.in
+++ b/LUFA/Build/lufa.dfu.in
@@ -6,8 +6,10 @@
 #           www.lufa-lib.org
 #
 
-LUFA_BUILD_MODULES += DFU
-LUFA_BUILD_TARGETS += flip flip-ee dfu dfu-ee
+LUFA_BUILD_MODULES        += DFU
+LUFA_BUILD_TARGETS        += flip flip-ee dfu dfu-ee
+LUFA_BUILD_MANDATORY_VARS += MCU TARGET
+LUFA_BUILD_OPTIONAL_VARS  += 
 
 # -----------------------------------------------------------------------------
 #               LUFA DFU Bootloader Buildsystem Makefile Module.
diff --git a/LUFA/Build/lufa.doxygen.in b/LUFA/Build/lufa.doxygen.in
index 9efbbcbcc..26cd40d7e 100644
--- a/LUFA/Build/lufa.doxygen.in
+++ b/LUFA/Build/lufa.doxygen.in
@@ -6,8 +6,10 @@
 #           www.lufa-lib.org
 #
 
-LUFA_BUILD_MODULES += DOXYGEN
-LUFA_BUILD_TARGETS += doxygen
+LUFA_BUILD_MODULES        += DOXYGEN
+LUFA_BUILD_TARGETS        += doxygen
+LUFA_BUILD_MANDATORY_VARS += 
+LUFA_BUILD_OPTIONAL_VARS  += DOXYGEN_CONF DOXYGEN_FAIL_ON_WARNING DOXYGEN_OVERRIDE_PARAMS
 
 # -----------------------------------------------------------------------------
 #                 LUFA Doxygen Buildsystem Makefile Module.
diff --git a/LUFA/Build/lufa.sources.in b/LUFA/Build/lufa.sources.in
index 9985933b6..37263b602 100644
--- a/LUFA/Build/lufa.sources.in
+++ b/LUFA/Build/lufa.sources.in
@@ -6,8 +6,10 @@
 #           www.lufa-lib.org
 #
 
-LUFA_BUILD_MODULES += SOURCES
-LUFA_BUILD_TARGETS += 
+LUFA_BUILD_MODULES        += SOURCES
+LUFA_BUILD_TARGETS        += 
+LUFA_BUILD_MANDATORY_VARS += LUFA_PATH ARCH
+LUFA_BUILD_OPTIONAL_VARS  += 
 
 # -----------------------------------------------------------------------------
 #               LUFA Sources Buildsystem Makefile Module.
-- 
GitLab