It used to fail with this error after building the depfiles:
clang -DLWIP_NOASSERT_ON_ERROR -I/usr/include/check -I../../../../src/../test/unit -Wno-gnu-zero-variadic-macro-arguments -g -DLWIP_DEBUG -Wall -pedantic -Werror -Wparentheses -Wsequence-point -Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wc++-compat -Wwrite-strings -Wold-style-definition -Wcast-align -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wunreachable-code -Wuninitialized -Wmissing-prototypes -Wredundant-decls -Waggregate-return -Wlogical-not-parentheses -fsanitize=address -fsanitize=undefined -fno-sanitize=alignment -Wdocumentation -Wno-documentation-deprecated-sync -I. -I../../.. -I../../../../src/include -I../../../ports/unix/port/include -c
clang-11: error: no input files
Also don't include depfiles while cleaning, to avoid generating them
just to remove them.
Having just one depfile (.depend) means it has to be fully regenerated
on every change, and it can't be done in parallel.
After this change the rebuild time after touching a single test file has
gone from 5.0 to 0.9 seconds. (make -j12)
Build of tests from clean has gone from 8.1 to 5.5s.
We could go even further and have one depfile per c-file, but this felt
like a simple first step giving a nice improvement.