Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Erik Strand
lufa
Commits
719a0e7f
Commit
719a0e7f
authored
Jun 02, 2012
by
Dean Camera
Browse files
Add dependency file tracking to the BUILD build system module.
parent
49136786
Changes
1
Hide whitespace changes
Inline
Side-by-side
LUFA/Build/lufa.build.in
View file @
719a0e7f
...
@@ -74,7 +74,7 @@ CC_FLAGS ?=
...
@@ -74,7 +74,7 @@ CC_FLAGS ?=
# Output Messages
# Output Messages
MSG_BUILD_BEGIN = Begin compilation of project \"$(TARGET)\"...
MSG_BUILD_BEGIN = Begin compilation of project \"$(TARGET)\"...
MSG_BUILD_END = Finished building project \"$(TARGET)\".
..
MSG_BUILD_END = Finished building project \"$(TARGET)\".
MSG_COMPILE_CMD = ' [CC] :'
MSG_COMPILE_CMD = ' [CC] :'
MSG_REMOVE_CMD = ' [RM] :'
MSG_REMOVE_CMD = ' [RM] :'
MSG_LINKER_CMD = ' [LNK] :'
MSG_LINKER_CMD = ' [LNK] :'
...
@@ -88,7 +88,8 @@ CPP_SOURCE = $(filter %.cpp, $(SRC))
...
@@ -88,7 +88,8 @@ CPP_SOURCE = $(filter %.cpp, $(SRC))
ASM_SOURCE = $(filter %.S, $(SRC))
ASM_SOURCE = $(filter %.S, $(SRC))
# Convert input source filenames into a list of required output object files
# Convert input source filenames into a list of required output object files
OBJECT_FILES = $(filter %.o, $(C_SOURCE:%.c=%.o) $(CPP_SOURCE:%.cpp=%.o) $(ASM_SOURCE:%.S=%.o))
OBJECT_FILES = $(filter %.o, $(C_SOURCE:%.c=%.o) $(CPP_SOURCE:%.cpp=%.o) $(ASM_SOURCE:%.S=%.o))
DEPENDENCY_FILES = $(OBJECT_FILES:%=%.d)
# Create a list of flags to pass to the compiler
# Create a list of flags to pass to the compiler
ifeq ($(ARCH), AVR8)
ifeq ($(ARCH), AVR8)
...
@@ -111,7 +112,8 @@ ifneq ($(F_CPU),)
...
@@ -111,7 +112,8 @@ ifneq ($(F_CPU),)
endif
endif
# Additional language specific compiler flags
# Additional language specific compiler flags
C_FLAGS += -Wstrict-prototypes
C_FLAGS += -O$(OPTIMIZATION) -std=$(C_STANDARD) -MMD -MP -MF $@.d -Wstrict-prototypes
CPP_FLAGS += -O$(OPTIMIZATION) -std=$(CPP_STANDARD) -MMD -MP -MF $@.d
# Create a list of flags to pass to the linker
# Create a list of flags to pass to the linker
LD_FLAGS += -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections
LD_FLAGS += -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections
...
@@ -164,11 +166,11 @@ lss: $(TARGET).lss
...
@@ -164,11 +166,11 @@ lss: $(TARGET).lss
%.o: %.c
%.o: %.c
@echo $(MSG_COMPILE_CMD) Compiling C file \"$<\"
@echo $(MSG_COMPILE_CMD) Compiling C file \"$<\"
$(CROSS)gcc -c $(CC_FLAGS) $(C_FLAGS)
-O$(OPTIMIZATION) -std=$(C_STANDARD)
$< -o $@
$(CROSS)gcc -c $(CC_FLAGS) $(C_FLAGS) $< -o $@
%.o: %.cpp
%.o: %.cpp
@echo $(MSG_COMPILE_CMD) Compiling C++ file \"$<\"
@echo $(MSG_COMPILE_CMD) Compiling C++ file \"$<\"
$(CROSS)gcc -c $(CC_FLAGS) $(CPP_FLAGS)
-O$(OPTIMIZATION) -std=$(CPP_STANDARD)
-x c++ $< -o $@
$(CROSS)gcc -c $(CC_FLAGS) $(CPP_FLAGS) -x c++ $< -o $@
%.o: %.S
%.o: %.S
@echo $(MSG_COMPILE_CMD) Assembling \"$<\"
@echo $(MSG_COMPILE_CMD) Assembling \"$<\"
...
@@ -177,7 +179,7 @@ lss: $(TARGET).lss
...
@@ -177,7 +179,7 @@ lss: $(TARGET).lss
.PRECIOUS : $(OBJECT_FILES)
.PRECIOUS : $(OBJECT_FILES)
%.elf: $(OBJECT_FILES)
%.elf: $(OBJECT_FILES)
@echo $(MSG_LINKER_CMD) Linking object files into \"$@\"
@echo $(MSG_LINKER_CMD) Linking object files into \"$@\"
$(CROSS)gcc
$^
$(CC_FLAGS) $(LD_FLAGS) -o $@
$(CROSS)gcc $(CC_FLAGS) $(LD_FLAGS)
$^
-o $@
%.hex: %.elf
%.hex: %.elf
@echo $(MSG_OBJCPY_CMD) Extracting HEX file data from \"$<\"
@echo $(MSG_OBJCPY_CMD) Extracting HEX file data from \"$<\"
...
@@ -194,5 +196,10 @@ lss: $(TARGET).lss
...
@@ -194,5 +196,10 @@ lss: $(TARGET).lss
clean:
clean:
@echo $(MSG_REMOVE_CMD) Removing object files \"$(strip $(notdir $(OBJECT_FILES)))\"
@echo $(MSG_REMOVE_CMD) Removing object files \"$(strip $(notdir $(OBJECT_FILES)))\"
rm -f $(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\"
@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
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment