diff --git a/compiledb/parser.py b/compiledb/parser.py
index 9f4c550..833595f 100755
--- a/compiledb/parser.py
+++ b/compiledb/parser.py
@@ -32,8 +32,8 @@
compiler_wrappers = {"ccache", "icecc", "sccache"}
# Leverage `make --print-directory` option
-make_enter_dir = re.compile(r"^\s*make\[\d+\]: Entering directory [`\'\"](?P
.*)[`\'\"]\s*$")
-make_leave_dir = re.compile(r"^\s*make\[\d+\]: Leaving directory .*$")
+make_enter_dir = re.compile(r"^\s*make(?:\[\d+\])*: Entering directory [`\'\"](?P.*)[`\'\"]\s*$")
+make_leave_dir = re.compile(r"^\s*make(?:\[\d+\])*: Leaving directory .*$")
# We want to skip such lines from configure to avoid spurious MAKE expansion errors.
checking_make = re.compile(r"^checking whether .* sets \$\(\w+\)\.\.\. (yes|no)$")