Add "mostlyclean" makefile target to the BUILD build system module.
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 26 Jun 2012 17:37:25 +0000 (17:37 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 26 Jun 2012 17:37:25 +0000 (17:37 +0000)
LUFA/Build/lufa.build.in
LUFA/DoxygenPages/BuildSystem.txt
makefile

index 0e1a450..91c54f9 100644 (file)
@@ -7,7 +7,7 @@
 #
 
 LUFA_BUILD_MODULES         += BUILD
-LUFA_BUILD_TARGETS         += size check-source symbol-sizes all lib elf hex lss clean
+LUFA_BUILD_TARGETS         += size check-source symbol-sizes all lib elf hex lss clean mostlyclean
 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 OBJDIR
 LUFA_BUILD_PROVIDED_VARS   += 
@@ -32,7 +32,10 @@ LUFA_BUILD_PROVIDED_MACROS +=
 #    elf                       - Build application ELF debug object file
 #    hex                       - Build application HEX object files
 #    lss                       - Build application LSS assembly listing file
-#    clean                     - Remove output files
+#    clean                     - Remove all project intermediatary and binary
+#                                output files
+#    mostlyclean               - Remove intermediatary output files, but
+#                                preserve binaries
 #
 # MANDATORY PARAMETERS:
 #
@@ -211,11 +214,13 @@ symbol-sizes: $(TARGET).elf
        @echo $(MSG_NM_CMD) Extracting \"$<\" symbols with decimal byte sizes
        $(CROSS)-nm --size-sort --demangle --radix=d $<
 
-clean:
+mostlyclean:
        @echo $(MSG_REMOVE_CMD) Removing object files of \"$(TARGET)\"
        rm -f $(OBJECT_FILES)
        @echo $(MSG_REMOVE_CMD) Removing dependency files of \"$(TARGET)\"
        rm -f $(DEPENDENCY_FILES)
+
+clean: mostlyclean
        @echo $(MSG_REMOVE_CMD) Removing output files of \"$(TARGET)\"
        rm -f $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss $(TARGET).sym $(TARGET).a
 
@@ -271,4 +276,4 @@ $(OBJDIR)/%.o: %.S $(MAKEFILE_LIST)
 -include $(DEPENDENCY_FILES)
 
 # Phony build targets for this module
-.PHONY: build_begin build_end gcc-version check-source size symbol-sizes lib elf hex lss clean
+.PHONY: build_begin build_end gcc-version check-source size symbol-sizes lib elf hex lss clean mostlyclean
index 9a460d3..1b26381 100644 (file)
@@ -12,6 +12,9 @@
  *  application makefile. The system is written in GNU Make, and each module is independant of\r
  *  one-another.\r
  *\r
+ *  For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA\r
+ *  build system, see \ref Sec_Prerequisites.\r
+ *\r
  *  To use a LUFA build system module, simply add an include to your project makefile:\r
  *  \code\r
  *  include $(LUFA_PATH)/Build/lufa.core.in\r
  *    <td><tt>clean</tt></td>\r
  *    <td>Remove all intermediatary files and binary output files.</td>\r
  *   </tr>\r
+ *   <tr>\r
+ *    <td><tt>mostlyclean</tt></td>\r
+ *    <td>Remove all intermediatary files but preserve any binary output files.</td>\r
+ *   </tr>\r
  *  </table>\r
  *\r
  *  \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters\r
index 898353c..8005f44 100644 (file)
--- a/makefile
+++ b/makefile
@@ -9,9 +9,9 @@
 # Makefile to build the LUFA library, projects and demos.
 
 # Call with "make all" to rebuild everything, "make clean" to clean everything,
-# "make clean_list" to remove all intermediatary files but preserve any binaries,
-# "make doxygen" to document everything with Doxygen (if installed) and
-# "make clean_doxygen" to remove generated Doxygen documentation from everything.
+# "make mostlyclean" to remove all intermediatary files but preserve any binaries,
+# "make doxygen" to document everything with Doxygen (if installed). Call
+# "make help" for additional target build information within a specific project.
 
 all:
 %: