Skip to content
Snippets Groups Projects
Unverified Commit ca887b04 authored by Joakim Eriksson's avatar Joakim Eriksson Committed by GitHub
Browse files

Merge pull request #1789 from pjonsson/ccache

Makefile: add support for ccache
parents 162d1977 351997ae
No related branches found
No related tags found
No related merge requests found
...@@ -41,6 +41,12 @@ ifdef CI ...@@ -41,6 +41,12 @@ ifdef CI
endif endif
endif endif
ifndef IAR
ifneq (, $(shell which ccache))
CCACHE ?= ccache
endif
endif
BUILD_DIR = build BUILD_DIR = build
BUILD_DIR_TARGET = $(BUILD_DIR)/$(TARGET) BUILD_DIR_TARGET = $(BUILD_DIR)/$(TARGET)
BUILD_DIR_TARGET_BOARD = $(BUILD_DIR_TARGET)/$(BOARD) BUILD_DIR_TARGET_BOARD = $(BUILD_DIR_TARGET)/$(BOARD)
...@@ -366,14 +372,14 @@ distclean: ...@@ -366,14 +372,14 @@ distclean:
ifndef CUSTOM_RULE_C_TO_OBJECTDIR_O ifndef CUSTOM_RULE_C_TO_OBJECTDIR_O
$(OBJECTDIR)/%.o: %.c | $(OBJECTDIR) $(OBJECTDIR)/%.o: %.c | $(OBJECTDIR)
$(TRACE_CC) $(TRACE_CC)
$(Q)$(CC) $(CFLAGS) -MMD -c $< -o $@ $(Q)$(CCACHE) $(CC) $(CFLAGS) -MMD -c $< -o $@
@$(FINALIZE_DEPENDENCY) @$(FINALIZE_DEPENDENCY)
endif endif
ifndef CUSTOM_RULE_CPP_TO_OBJECTDIR_O ifndef CUSTOM_RULE_CPP_TO_OBJECTDIR_O
$(OBJECTDIR)/%.o: %.cpp | $(OBJECTDIR) $(OBJECTDIR)/%.o: %.cpp | $(OBJECTDIR)
$(TRACE_CXX) $(TRACE_CXX)
$(Q)$(CXX) $(CXXFLAGS) -MMD -c $< -o $@ $(Q)$(CCACHE) $(CXX) $(CXXFLAGS) -MMD -c $< -o $@
@$(FINALIZE_DEPENDENCY) @$(FINALIZE_DEPENDENCY)
endif endif
...@@ -389,55 +395,55 @@ endif ...@@ -389,55 +395,55 @@ endif
ifndef CUSTOM_RULE_C_TO_OBJECTDIR_S ifndef CUSTOM_RULE_C_TO_OBJECTDIR_S
$(OBJECTDIR)/%.s: %.c | $(OBJECTDIR) $(OBJECTDIR)/%.s: %.c | $(OBJECTDIR)
$(TRACE_CC) $(TRACE_CC)
$(Q)$(CC) $(CFLAGS) -S $< -o $@ $(Q)$(CCACHE) $(CC) $(CFLAGS) -S $< -o $@
endif endif
ifndef CUSTOM_RULE_CPP_TO_OBJECTDIR_S ifndef CUSTOM_RULE_CPP_TO_OBJECTDIR_S
$(OBJECTDIR)/%.s: %.cpp | $(OBJECTDIR) $(OBJECTDIR)/%.s: %.cpp | $(OBJECTDIR)
$(TRACE_CXX) $(TRACE_CXX)
$(Q)$(CXX) $(CXXFLAGS) -S $< -o $@ $(Q)$(CCACHE) $(CXX) $(CXXFLAGS) -S $< -o $@
endif endif
ifndef CUSTOM_RULE_C_TO_OBJECTDIR_E ifndef CUSTOM_RULE_C_TO_OBJECTDIR_E
$(OBJECTDIR)/%.e: %.c | $(OBJECTDIR) $(OBJECTDIR)/%.e: %.c | $(OBJECTDIR)
$(TRACE_CC) $(TRACE_CC)
$(Q)$(CC) $(CFLAGS) -E $< -o $@ $(Q)$(CCACHE) $(CC) $(CFLAGS) -E $< -o $@
endif endif
ifndef CUSTOM_RULE_CPP_TO_OBJECTDIR_E ifndef CUSTOM_RULE_CPP_TO_OBJECTDIR_E
$(OBJECTDIR)/%.e: %.cpp | $(OBJECTDIR) $(OBJECTDIR)/%.e: %.cpp | $(OBJECTDIR)
$(TRACE_CXX) $(TRACE_CXX)
$(Q)$(CXX) $(CXXFLAGS) -E $< -o $@ $(Q)$(CCACHE) $(CXX) $(CXXFLAGS) -E $< -o $@
endif endif
ifndef CUSTOM_RULE_C_TO_O ifndef CUSTOM_RULE_C_TO_O
%.o: %.c %.o: %.c
$(TRACE_CC) $(TRACE_CC)
$(Q)$(CC) $(CFLAGS) -c $< -o $@ $(Q)$(CCACHE) $(CC) $(CFLAGS) -c $< -o $@
endif endif
ifndef CUSTOM_RULE_CPP_TO_O ifndef CUSTOM_RULE_CPP_TO_O
%.o: %.cpp %.o: %.cpp
$(TRACE_CXX) $(TRACE_CXX)
$(Q)$(CXX) $(CXXFLAGS) -c $< -o $@ $(Q)$(CCACHE) $(CXX) $(CXXFLAGS) -c $< -o $@
endif endif
ifndef CUSTOM_RULE_C_TO_S ifndef CUSTOM_RULE_C_TO_S
%.s: %.c %.s: %.c
$(TRACE_CC) $(TRACE_CC)
$(Q)$(CC) $(CFLAGS) -S $< -o $@ $(Q)$(CCACHE) $(CC) $(CFLAGS) -S $< -o $@
endif endif
ifndef CUSTOM_RULE_C_TO_E ifndef CUSTOM_RULE_C_TO_E
%.e: %.c %.e: %.c
$(TRACE_CC) $(TRACE_CC)
$(Q)$(CC) $(CFLAGS) -E $< -o $@ $(Q)$(CCACHE) $(CC) $(CFLAGS) -E $< -o $@
endif endif
ifndef CUSTOM_RULE_CPP_TO_E ifndef CUSTOM_RULE_CPP_TO_E
%.e: %.cpp %.e: %.cpp
$(TRACE_CXX) $(TRACE_CXX)
$(Q)$(CXX) $(CXXFLAGS) -E $< -o $@ $(Q)$(CCACHE) $(CXX) $(CXXFLAGS) -E $< -o $@
endif endif
ifndef AROPTS ifndef AROPTS
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment