projects
/
pub
/
USBasp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4913678
)
Add dependency file tracking to the BUILD build system module.
author
Dean Camera
<dean@fourwalledcubicle.com>
Sat, 2 Jun 2012 16:49:28 +0000
(16:49 +0000)
committer
Dean Camera
<dean@fourwalledcubicle.com>
Sat, 2 Jun 2012 16:49:28 +0000
(16:49 +0000)
LUFA/Build/lufa.build.in
patch
|
blob
|
blame
|
history
diff --git
a/LUFA/Build/lufa.build.in
b/LUFA/Build/lufa.build.in
index
c845376
..
d133e86
100644
(file)
--- a/
LUFA/Build/lufa.build.in
+++ b/
LUFA/Build/lufa.build.in
@@
-74,7
+74,7
@@
CC_FLAGS ?=
\r
# Output Messages
\r
MSG_BUILD_BEGIN = Begin compilation of project \"$(TARGET)\"...
\r
\r
# Output Messages
\r
MSG_BUILD_BEGIN = Begin compilation of project \"$(TARGET)\"...
\r
-MSG_BUILD_END = Finished building project \"$(TARGET)\".
..
\r
+MSG_BUILD_END = Finished building project \"$(TARGET)\".
\r
MSG_COMPILE_CMD = ' [CC] :'
\r
MSG_REMOVE_CMD = ' [RM] :'
\r
MSG_LINKER_CMD = ' [LNK] :'
\r
MSG_COMPILE_CMD = ' [CC] :'
\r
MSG_REMOVE_CMD = ' [RM] :'
\r
MSG_LINKER_CMD = ' [LNK] :'
\r
@@
-88,7
+88,8
@@
CPP_SOURCE = $(filter %.cpp, $(SRC))
ASM_SOURCE = $(filter %.S, $(SRC))
\r
\r
# Convert input source filenames into a list of required output object files
\r
ASM_SOURCE = $(filter %.S, $(SRC))
\r
\r
# Convert input source filenames into a list of required output object files
\r
-OBJECT_FILES = $(filter %.o, $(C_SOURCE:%.c=%.o) $(CPP_SOURCE:%.cpp=%.o) $(ASM_SOURCE:%.S=%.o))
\r
+OBJECT_FILES = $(filter %.o, $(C_SOURCE:%.c=%.o) $(CPP_SOURCE:%.cpp=%.o) $(ASM_SOURCE:%.S=%.o))
\r
+DEPENDENCY_FILES = $(OBJECT_FILES:%=%.d)
\r
\r
# Create a list of flags to pass to the compiler
\r
ifeq ($(ARCH), AVR8)
\r
\r
# Create a list of flags to pass to the compiler
\r
ifeq ($(ARCH), AVR8)
\r
@@
-111,7
+112,8
@@
ifneq ($(F_CPU),)
endif
\r
\r
# Additional language specific compiler flags
\r
endif
\r
\r
# Additional language specific compiler flags
\r
-C_FLAGS += -Wstrict-prototypes
\r
+C_FLAGS += -O$(OPTIMIZATION) -std=$(C_STANDARD) -MMD -MP -MF $@.d -Wstrict-prototypes
\r
+CPP_FLAGS += -O$(OPTIMIZATION) -std=$(CPP_STANDARD) -MMD -MP -MF $@.d
\r
\r
# Create a list of flags to pass to the linker
\r
LD_FLAGS += -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections
\r
\r
# Create a list of flags to pass to the linker
\r
LD_FLAGS += -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections
\r
@@
-164,11
+166,11
@@
lss: $(TARGET).lss
\r
%.o: %.c
\r
@echo $(MSG_COMPILE_CMD) Compiling C file \"$<\"
\r
\r
%.o: %.c
\r
@echo $(MSG_COMPILE_CMD) Compiling C file \"$<\"
\r
- $(CROSS)gcc -c $(CC_FLAGS) $(C_FLAGS)
-O$(OPTIMIZATION) -std=$(C_STANDARD)
$< -o $@
\r
+ $(CROSS)gcc -c $(CC_FLAGS) $(C_FLAGS) $< -o $@
\r
\r
%.o: %.cpp
\r
@echo $(MSG_COMPILE_CMD) Compiling C++ file \"$<\"
\r
\r
%.o: %.cpp
\r
@echo $(MSG_COMPILE_CMD) Compiling C++ file \"$<\"
\r
- $(CROSS)gcc -c $(CC_FLAGS) $(CPP_FLAGS) -
O$(OPTIMIZATION) -std=$(CPP_STANDARD) -
x c++ $< -o $@
\r
+ $(CROSS)gcc -c $(CC_FLAGS) $(CPP_FLAGS) -x c++ $< -o $@
\r
\r
%.o: %.S
\r
@echo $(MSG_COMPILE_CMD) Assembling \"$<\"
\r
\r
%.o: %.S
\r
@echo $(MSG_COMPILE_CMD) Assembling \"$<\"
\r
@@
-177,7
+179,7
@@
lss: $(TARGET).lss
.PRECIOUS : $(OBJECT_FILES)
\r
%.elf: $(OBJECT_FILES)
\r
@echo $(MSG_LINKER_CMD) Linking object files into \"$@\"
\r
.PRECIOUS : $(OBJECT_FILES)
\r
%.elf: $(OBJECT_FILES)
\r
@echo $(MSG_LINKER_CMD) Linking object files into \"$@\"
\r
- $(CROSS)gcc $
^ $(CC_FLAGS) $(LD_FLAGS)
-o $@
\r
+ $(CROSS)gcc $
(CC_FLAGS) $(LD_FLAGS) $^
-o $@
\r
\r
%.hex: %.elf
\r
@echo $(MSG_OBJCPY_CMD) Extracting HEX file data from \"$<\"
\r
\r
%.hex: %.elf
\r
@echo $(MSG_OBJCPY_CMD) Extracting HEX file data from \"$<\"
\r
@@
-194,5
+196,10
@@
lss: $(TARGET).lss
clean:
\r
@echo $(MSG_REMOVE_CMD) Removing object files \"$(strip $(notdir $(OBJECT_FILES)))\"
\r
rm -f $(OBJECT_FILES)
\r
clean:
\r
@echo $(MSG_REMOVE_CMD) Removing object files \"$(strip $(notdir $(OBJECT_FILES)))\"
\r
rm -f $(OBJECT_FILES)
\r
+ @echo $(MSG_REMOVE_CMD) Removing dependency files \"$(strip $(notdir $(DEPENDENCY_FILES)))\"
\r
+ rm -f $(DEPENDENCY_FILES)
\r
@echo $(MSG_REMOVE_CMD) Removing output files \"$(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss\"
\r
rm -f $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss
\r
@echo $(MSG_REMOVE_CMD) Removing output files \"$(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss\"
\r
rm -f $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).map $(TARGET).lss
\r
+
\r
+# Include build dependency files
\r
+-include $(DEPENDENCY_FILES)
\ No newline at end of file