From f1666419a8aaee846f7175ccdb8799ab9deea376 Mon Sep 17 00:00:00 2001 From: stijn Date: Thu, 8 Oct 2020 16:19:26 +0200 Subject: py/mkrules.mk: Add target for compiling C++ files. Move the target from the ESP32 Makefile since that does what is needed already, but also include files from user C modules as is done for the C files. --- py/mkrules.mk | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'py') diff --git a/py/mkrules.mk b/py/mkrules.mk index c37c25db4..f003174ea 100644 --- a/py/mkrules.mk +++ b/py/mkrules.mk @@ -58,12 +58,28 @@ $(Q)$(CC) $(CFLAGS) -c -MD -o $@ $< $(RM) -f $(@:.o=.d) endef +define compile_cxx +$(ECHO) "CXX $<" +$(Q)$(CXX) $(CXXFLAGS) -c -MD -o $@ $< +@# The following fixes the dependency file. +@# See http://make.paulandlesley.org/autodep.html for details. +@# Regex adjusted from the above to play better with Windows paths, etc. +@$(CP) $(@:.o=.d) $(@:.o=.P); \ + $(SED) -e 's/#.*//' -e 's/^.*: *//' -e 's/ *\\$$//' \ + -e '/^$$/ d' -e 's/$$/ :/' < $(@:.o=.d) >> $(@:.o=.P); \ + $(RM) -f $(@:.o=.d) +endef + vpath %.c . $(TOP) $(USER_C_MODULES) $(BUILD)/%.o: %.c $(call compile_c) vpath %.c . $(TOP) $(USER_C_MODULES) +vpath %.cpp . $(TOP) $(USER_C_MODULES) +$(BUILD)/%.o: %.cpp + $(call compile_cxx) + $(BUILD)/%.pp: %.c $(ECHO) "PreProcess $<" $(Q)$(CPP) $(CFLAGS) -Wp,-C,-dD,-dI -o $@ $< -- cgit v1.2.3