diff --git a/ports/esp32/Makefile b/ports/esp32/Makefile
index 4ce4e489900f1e7d0538b159c0b98c7b04e2d57c..2d2db368a308578187571046edfb06d123cc7fc1 100644
--- a/ports/esp32/Makefile
+++ b/ports/esp32/Makefile
@@ -257,7 +257,7 @@ $(HEADER_BUILD)/qstrdefs.generated.h: $(SDKCONFIG_H)
 ################################################################################
 # List of object files from the ESP32 IDF components
 
-ESPIDF_DRIVER_O = $(subst .c,.o,$(wildcard $(ESPCOMP)/driver/*.c))
+ESPIDF_DRIVER_O = $(patsubst %.c,%.o,$(wildcard $(ESPCOMP)/driver/*.c))
 
 ESPIDF_EFUSE_O = $(addprefix $(ESPCOMP)/efuse/,\
 	esp32/esp_efuse_table.o \