diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-07-08 16:44:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-08 16:44:18 -0400 |
commit | 4139841e9d116c8dd1fa6fa56dd72e99b7710779 (patch) | |
tree | 116d07dc7510307e671f8e23082967f981bda168 | |
parent | 8610481c372e9de02fe1ec7b77a9f3598a72a372 (diff) | |
parent | 6911ead027202da981862c9259ff4d962d51a519 (diff) | |
download | qmk_firmware-4139841e9d116c8dd1fa6fa56dd72e99b7710779.tar.gz |
Merge pull request #498 from fredizzimo/fix_make_dependencies
Fix make dependencies
-rw-r--r-- | tmk_core/rules.mk | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 543d3da8a..f13351ea1 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -260,7 +260,7 @@ LST = $(patsubst %.c,$(OBJDIR)/%.lst,$(patsubst %.cpp,$(OBJDIR)/%.lst,$(patsubst # Compiler flags to generate dependency files. #GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d -GENDEPFLAGS = -MMD -MP -MF $(BUILD_DIR)/.dep/$(subst /,_,$@).d +GENDEPFLAGS = -MMD -MP -MF $(BUILD_DIR)/.dep/$(subst /,_,$(subst $(BUILD_DIR)/,,$@)).d # Combine all necessary flags and optional flags. @@ -360,49 +360,51 @@ gccversion : $(eval CMD=$(AR) $@ $(OBJ) ) @$(BUILD_CMD) +BEGIN = gccversion check_submodule sizebefore + # Link: create ELF output file from object files. .SECONDARY : $(BUILD_DIR)/$(TARGET).elf .PRECIOUS : $(OBJ) -%.elf: gccversion sizebefore check_submodule $(OBJ) +%.elf: $(OBJ) | $(BEGIN) @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD) - $(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out gccversion sizebefore check_submodule,$^) --output $@ $(LDFLAGS)) + $(eval CMD=$(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)) @$(BUILD_CMD) # Compile: create object files from C source files. -$(OBJDIR)/%.o : %.c +$(OBJDIR)/%.o : %.c | $(BEGIN) @mkdir -p $(@D) @$(SILENT) || printf "$(MSG_COMPILING) $<" | $(AWK_CMD) $(eval CMD=$(CC) -c $(ALL_CFLAGS) $< -o $@) @$(BUILD_CMD) # Compile: create object files from C++ source files. -$(OBJDIR)/%.o : %.cpp +$(OBJDIR)/%.o : %.cpp | $(BEGIN) @mkdir -p $(@D) @$(SILENT) || printf "$(MSG_COMPILING_CPP) $<" | $(AWK_CMD) $(eval CMD=$(CC) -c $(ALL_CPPFLAGS) $< -o $@) @$(BUILD_CMD) # Compile: create assembler files from C source files. -%.s : %.c +%.s : %.c | $(BEGIN) @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD) $(eval CMD=$(CC) -S $(ALL_CFLAGS) $< -o $@) @$(BUILD_CMD) # Compile: create assembler files from C++ source files. -%.s : %.cpp +%.s : %.cpp | $(BEGIN) @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD) $(eval CMD=$(CC) -S $(ALL_CPPFLAGS) $< -o $@) @$(BUILD_CMD) # Assemble: create object files from assembler source files. -$(OBJDIR)/%.o : %.S +$(OBJDIR)/%.o : %.S | $(BEGIN) @mkdir -p $(@D) @$(SILENT) || printf "$(MSG_ASSEMBLING) $<" | $(AWK_CMD) $(eval CMD=$(CC) -c $(ALL_ASFLAGS) $< -o $@) @$(BUILD_CMD) # Create preprocessed source for use in sending a bug report. -%.i : %.c +%.i : %.c | $(BEGIN) $(CC) -E -mmcu=$(MCU) $(CFLAGS) $< -o $@ # Target: clean project. @@ -492,7 +494,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null) # Listing of phony targets. .PHONY : all quick finish sizebefore sizeafter gccversion \ -build elf hex eep lss sym coff extcoff \ +build elf hex eep lss sym coff extcoff check_submodule \ clean clean_list debug gdb-config show_path \ program teensy dfu flip dfu-ee flip-ee dfu-start \ all-keyboards-defaults all-keyboards all-keymaps \ |