From 88425d7dabd07a712b32995a635a7f883ff5f726 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 3 Jun 2012 12:17:37 +0000 Subject: [PATCH] Add .PHONY targets in all build system modules. Alter BUILD module so that the existence of source files are checked before the build is started. --- LUFA/Build/lufa.avrdude.in | 3 +++ LUFA/Build/lufa.build.in | 41 +++++++++++++++++++------------------- LUFA/Build/lufa.core.in | 3 +++ LUFA/Build/lufa.dfu.in | 5 ++++- LUFA/Build/lufa.doxygen.in | 7 ++++++- 5 files changed, 36 insertions(+), 23 deletions(-) diff --git a/LUFA/Build/lufa.avrdude.in b/LUFA/Build/lufa.avrdude.in index 4c43d183dd..52cb44b8d7 100644 --- a/LUFA/Build/lufa.avrdude.in +++ b/LUFA/Build/lufa.avrdude.in @@ -60,3 +60,6 @@ program: $(TARGET).hex $(MAKEFILE_LIST) program-ee: $(TARGET).eep $(MAKEFILE_LIST) @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_EEP_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\" avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_EEP_FLAGS) + +# Phony build targets for this module +.PHONY: program program-ee \ No newline at end of file diff --git a/LUFA/Build/lufa.build.in b/LUFA/Build/lufa.build.in index bcf539d73a..a8569a6ce3 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 checksource all elf hex lss gcc_version clean +LUFA_BUILD_TARGETS += size 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 @@ -20,13 +20,11 @@ LUFA_BUILD_OPTIONAL_VARS += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_ # ----------------------------------------------------------------------------- # TARGETS: # -# size - List application size -# checksource - Check existance of listed input source files +# size - List built application size # all - Build application and list size # elf - Build application ELF debug object file # hex - Build application HEX object files # lss - Build application LSS assembly listing file -# gcc_version - Print version of GCC used # clean - Remove output files # # MANDATORY PARAMETERS: @@ -155,12 +153,11 @@ end: gcc_version: @$(CROSS)gcc --version -checksource: - @for f in $(SRC) $(CPPSRC) $(ASRC); do \ - if [ -f $$f ]; then \ - echo "Found Source File: $$f" ; \ - else \ - echo "Source File Not Found: $$f" ; \ +check_source: + @for f in $(SRC); do \ + if [ ! -f $$f ]; then \ + echo "Error: Source file not found: $$f"; \ + exit 1; \ fi; \ done @@ -170,8 +167,15 @@ size: $(CROSS)size $(SIZE_MCU_FLAG) $(SIZE_FORMAT_FLAG) $(TARGET).elf ; 2>/dev/null; \ fi -.PHONY: begin gcc_version elf hex lss size end -all: begin gcc_version elf hex lss size end +clean: + @echo $(MSG_REMOVE_CMD) Removing object files \"$(strip $(notdir $(OBJECT_FILES)))\" + rm -f $(OBJECT_FILES) + @echo $(MSG_REMOVE_CMD) Removing dependency files \"$(strip $(notdir $(DEPENDENCY_FILES)))\" + rm -f $(DEPENDENCY_FILES) + @echo $(MSG_REMOVE_CMD) Removing output files \"$(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss\" + rm -f $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss + +all: begin check_source gcc_version elf hex lss size end elf: $(TARGET).elf hex: $(TARGET).hex $(TARGET).eep @@ -206,13 +210,8 @@ lss: $(TARGET).lss @echo $(MSG_OBJDMP_CMD) Extracting LSS file data from \"$<\" $(CROSS)objdump -h -S -z $< > $@ -clean: - @echo $(MSG_REMOVE_CMD) Removing object files \"$(strip $(notdir $(OBJECT_FILES)))\" - rm -f $(OBJECT_FILES) - @echo $(MSG_REMOVE_CMD) Removing dependency files \"$(strip $(notdir $(DEPENDENCY_FILES)))\" - rm -f $(DEPENDENCY_FILES) - @echo $(MSG_REMOVE_CMD) Removing output files \"$(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss\" - rm -f $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss - # Include build dependency files --include $(DEPENDENCY_FILES) \ No newline at end of file +-include $(DEPENDENCY_FILES) + +# Phony build targets for this module +.PHONY: begin end gcc_version check_source size elf hex lss clean \ No newline at end of file diff --git a/LUFA/Build/lufa.core.in b/LUFA/Build/lufa.core.in index 4ce92219cd..d111aad715 100644 --- a/LUFA/Build/lufa.core.in +++ b/LUFA/Build/lufa.core.in @@ -100,3 +100,6 @@ list_mandatory: list_optional: @echo Optional Variables for Included Modules: $(SORTED_LUFA_OPTIONAL_VARS) + +# Phony build targets for this module +.PHONY: help list_modules list_targets list_mandatory list_optional \ No newline at end of file diff --git a/LUFA/Build/lufa.dfu.in b/LUFA/Build/lufa.dfu.in index 565e848aa7..91922d0cb1 100644 --- a/LUFA/Build/lufa.dfu.in +++ b/LUFA/Build/lufa.dfu.in @@ -70,4 +70,7 @@ dfu: $(TARGET).hex $(MAKEFILE_LIST) dfu-ee: $(TARGET).eep $(MAKEFILE_LIST) @echo $(MSG_DFU_CMD) Programming EEPROM with dfu-programmer using \"$(TARGET).eep\" dfu-programmer $(MCU) eeprom-flash $(TARGET).eep - dfu-programmer $(MCU) reset \ No newline at end of file + dfu-programmer $(MCU) reset + +# Phony build targets for this module +.PHONY: flip flip-ee dfu dfu-ee \ No newline at end of file diff --git a/LUFA/Build/lufa.doxygen.in b/LUFA/Build/lufa.doxygen.in index 7d4f8ae319..0a6ad6e258 100644 --- a/LUFA/Build/lufa.doxygen.in +++ b/LUFA/Build/lufa.doxygen.in @@ -50,10 +50,15 @@ MSG_DOXYGEN_CMD := ' [DOXYGEN] :' BASE_DOXYGEN_CMD = ( cat Doxygen.conf $(DOXYGEN_OVERRIDE_PARAMS:%=; echo "%") ) | doxygen - ifeq ($(DOXYGEN_FAIL_ON_WARNING), Y) DOXYGEN_CMD = if ( $(BASE_DOXYGEN_CMD) 2>&1 | grep -v "warning: ignoring unsupported tag" ;); then exit 1; fi; -else +else ifeq ($(DOXYGEN_FAIL_ON_WARNING), N) DOXYGEN_CMD = $(BASE_DOXYGEN_CMD) +else + $(error DOXYGEN_FAIL_ON_WARNING must be Y or N.) endif doxygen: @echo $(MSG_DOXYGEN_CMD) Configuration file \"$(DOXYGEN_CONF)\" with parameters \"$(DOXYGEN_OVERRIDE_PARAMS)\" $(DOXYGEN_CMD) + +# Phony build targets for this module +.PHONY: doxygen \ No newline at end of file