aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-06-26 17:37:25 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-06-26 17:37:25 +0000
commit80fab49e1dafaa4eaefd14a34245888bf9ee3804 (patch)
tree05c482e09062dbdc7938846bc95ab6dd19e30216
parentaba33a03341dd80bd3cb9efea1001f42bd82c715 (diff)
downloadlufa-80fab49e1dafaa4eaefd14a34245888bf9ee3804.tar.gz
lufa-80fab49e1dafaa4eaefd14a34245888bf9ee3804.tar.bz2
lufa-80fab49e1dafaa4eaefd14a34245888bf9ee3804.zip
Add "mostlyclean" makefile target to the BUILD build system module.
-rw-r--r--LUFA/Build/lufa.build.in13
-rw-r--r--LUFA/DoxygenPages/BuildSystem.txt7
-rw-r--r--makefile6
3 files changed, 19 insertions, 7 deletions
diff --git a/LUFA/Build/lufa.build.in b/LUFA/Build/lufa.build.in
index 0e1a4501e..91c54f969 100644
--- a/LUFA/Build/lufa.build.in
+++ b/LUFA/Build/lufa.build.in
@@ -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
diff --git a/LUFA/DoxygenPages/BuildSystem.txt b/LUFA/DoxygenPages/BuildSystem.txt
index 9a460d30a..1b26381bc 100644
--- a/LUFA/DoxygenPages/BuildSystem.txt
+++ b/LUFA/DoxygenPages/BuildSystem.txt
@@ -12,6 +12,9 @@
* application makefile. The system is written in GNU Make, and each module is independant of
* one-another.
*
+ * For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA
+ * build system, see \ref Sec_Prerequisites.
+ *
* To use a LUFA build system module, simply add an include to your project makefile:
* \code
* include $(LUFA_PATH)/Build/lufa.core.in
@@ -97,6 +100,10 @@
* <td><tt>clean</tt></td>
* <td>Remove all intermediatary files and binary output files.</td>
* </tr>
+ * <tr>
+ * <td><tt>mostlyclean</tt></td>
+ * <td>Remove all intermediatary files but preserve any binary output files.</td>
+ * </tr>
* </table>
*
* \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters
diff --git a/makefile b/makefile
index 898353c0d..8005f442a 100644
--- 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:
%: