diff --git a/LUFA/Build/lufa_core.mk b/LUFA/Build/lufa_core.mk index cb06a701e6..990215276b 100644 --- a/LUFA/Build/lufa_core.mk +++ b/LUFA/Build/lufa_core.mk @@ -136,27 +136,33 @@ help: # Lists build modules included by the project makefile, in alphabetical order list_modules: - @echo Currently Used Build System Modules: $(PRINTABLE_LUFA_BUILD_MODULES) + @echo Currently Used Build System Modules: + @printf " %b" "$(PRINTABLE_LUFA_BUILD_MODULES:%= - %\n)" # Lists build targets included by the project makefile, in alphabetical order list_targets: - @echo Currently Available Build Targets: $(PRINTABLE_LUFA_BUILD_TARGETS) + @echo Currently Available Build Targets: + @printf " %b" "$(PRINTABLE_LUFA_BUILD_TARGETS:%= - %\n)" # Lists mandatory variables that must be set by the project makefile, in alphabetical order list_mandatory: - @echo Mandatory Variables for Included Modules: $(PRINTABLE_LUFA_MANDATORY_VARS) + @echo Mandatory Variables for Included Modules: + @printf " %b" "$(PRINTABLE_LUFA_MANDATORY_VARS:%= - %\n)" # Lists optional variables that must be set by the project makefile, in alphabetical order list_optional: - @echo Optional Variables for Included Modules: $(PRINTABLE_LUFA_OPTIONAL_VARS) + @echo Optional Variables for Included Modules: + @printf " %b" "$(PRINTABLE_LUFA_OPTIONAL_VARS:%= - %\n)" # Lists variables provided by the included build modules, in alphabetical order list_provided: - @echo Variables Provided by the Included Modules: $(PRINTABLE_LUFA_PROVIDED_VARS) + @echo Variables Provided by the Included Modules: + @printf " %b" "$(PRINTABLE_LUFA_PROVIDED_VARS:%= - %\n)" # Lists macros provided by the included build modules, in alphabetical order list_macros: - @echo Macros Provided by the Included Modules: $(PRINTABLE_LUFA_PROVIDED_MACROS) + @echo Macros Provided by the Included Modules: + @printf " %b" "$(PRINTABLE_LUFA_PROVIDED_MACROS:%= - %\n)" # Disable default in-built make rules (those that are needed are explicitly # defined, and doing so has performance benefits when recursively building) diff --git a/LUFA/Build/lufa_doxygen.mk b/LUFA/Build/lufa_doxygen.mk index 265ba6e93a..fe53b25247 100644 --- a/LUFA/Build/lufa_doxygen.mk +++ b/LUFA/Build/lufa_doxygen.mk @@ -7,7 +7,7 @@ # LUFA_BUILD_MODULES += DOXYGEN -LUFA_BUILD_TARGETS += doxygen +LUFA_BUILD_TARGETS += doxygen doxygen_upgrade doxygen_create LUFA_BUILD_MANDATORY_VARS += LUFA_PATH LUFA_BUILD_OPTIONAL_VARS += DOXYGEN_CONF DOXYGEN_FAIL_ON_WARNING DOXYGEN_OVERRIDE_PARAMS LUFA_BUILD_PROVIDED_VARS += @@ -23,6 +23,10 @@ LUFA_BUILD_PROVIDED_MACROS += # TARGETS: # # doxygen - Build Doxygen Documentation +# doxygen_create - Create a new Doxygen configuration file using +# the latest template +# doxygen_upgrade - Upgrade an existing Doxygen configuration file +# to the latest template # # MANDATORY PARAMETERS: # @@ -73,10 +77,24 @@ else DOXYGEN_CMD := $(BASE_DOXYGEN_CMD) endif +# Error if the specified Doxygen configuration file does not exist +$(DOXYGEN_CONF): + $(error Doxygen configuration file $@ does not exist) + # Builds the project documentation using the specified configuration file and the DOXYGEN tool -doxygen: +doxygen: $(DOXYGEN_CONF) @echo $(MSG_DOXYGEN_CMD) Configuration file \"$(DOXYGEN_CONF)\" with parameters \"$(DOXYGEN_OVERRIDE_PARAMS)\" $(DOXYGEN_CMD) +# Upgrades an existing Doxygen configuration file to the latest Doxygen template, preserving settings +doxygen_upgrade: $(DOXYGEN_CONF) + @echo $(MSG_DOXYGEN_CMD) Upgrading configuration file \"$(DOXYGEN_CONF)\" with latest template + doxygen -u $(DOXYGEN_CONF) > /dev/null + +# Creates a new Doxygen configuration file with the set file name +doxygen_create: + @echo $(MSG_DOXYGEN_CMD) Creating new configuration file \"$(DOXYGEN_CONF)\" with latest template + doxygen -g $(DOXYGEN_CONF) > /dev/null + # Phony build targets for this module -.PHONY: doxygen +.PHONY: doxygen doxygen_upgrade doxygen_create diff --git a/LUFA/DoxygenPages/BuildSystem.txt b/LUFA/DoxygenPages/BuildSystem.txt index 1394c21c06..45edef3f62 100644 --- a/LUFA/DoxygenPages/BuildSystem.txt +++ b/LUFA/DoxygenPages/BuildSystem.txt @@ -631,9 +631,9 @@ * * \section SSec_BuildModule_DOXYGEN_Requirements Requirements * This module requires the doxygen utility from the Doxygen website - * (http://www.stack.nl/~dimitri/doxygen/) to be available in your system's PATH - * variable. On *nix systems the doxygen utility can be installed via the project's source - * code or through the package manager. + * (http://www.doxygen.org/) to be available in your system's PATH variable. On *nix + * systems the doxygen utility can be installed via the project's source code or through + * the package manager. * * \section SSec_BuildModule_DOXYGEN_Targets Targets * @@ -642,6 +642,14 @@ * doxygen * Generate project documentation. * + * + * doxygen_create + * Create a new Doxygen configuration file using the latest template. + * + * + * doxygen_upgrade + * Upgrade an existing Doxygen configuration file to the latest template + * * * * \section SSec_BuildModule_DOXYGEN_MandatoryParams Mandatory Parameters diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index d4846bcdc6..6dbd8abbcf 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -10,6 +10,7 @@ * New: * - Core: * - Added support for the Arduino Leonardo board + * - Added new doxygen_upgrade and doxygen_create targets to the DOXYGEN build system module * - Library Applications: * - None * diff --git a/LUFA/makefile b/LUFA/makefile index 73e760b905..ca5eacfe82 100644 --- a/LUFA/makefile +++ b/LUFA/makefile @@ -12,14 +12,17 @@ LUFA_VERSION_NUM := $(shell grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2) EXCLUDE_FROM_EXPORT := Documentation DoxygenPages CodeTemplates Build *.conf *.tar *.o *.d *.lss *.lst *.hex *.elf *.hex *.eep *.map *.bin +# Default target - no default action when attempting to build the core directly all: +# Export the library core as a TAR archive for importing into an IDE export_tar: @echo Exporting LUFA library to a TAR archive... @tar -cf LUFA_$(LUFA_VERSION_NUM).tar --directory=. $(EXCLUDE_FROM_EXPORT:%=--exclude=%) * @tar -cf LUFA_$(LUFA_VERSION_NUM)_Code_Templates.tar CodeTemplates @echo Export LUFA_$(LUFA_VERSION_NUM).tar complete. +# Display the LUFA version of this library copy version: @echo "LUFA $(LUFA_VERSION_NUM)" @@ -36,6 +39,7 @@ else ARCH = {AVR8,UC3,XMEGA} DOXYGEN_OVERRIDE_PARAMS = QUIET=YES PROJECT_NUMBER=$(LUFA_VERSION_NUM) + # Remove all object and associated files from the LUFA library core clean: rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o) rm -f $(LUFA_SRC_ALL_FILES:%.c=%.d) @@ -46,5 +50,4 @@ else include Build/lufa_doxygen.mk endif - .PHONY: all export_tar version clean \ No newline at end of file