I have used find and wildcarding myself, so this is very much a case of "do as I say, not as I do".
But listing all source files *explicitly* has its advantages.
For one, you get notified if one of the source files has been moved, renamed, or deleted. That might have been unintentional, and could have subtle impacts on your product.
Second, you might be looking at temporary stuff, like generated sources, "testme.c" one-offs and similar, which you don't *want* to be caught by your generic Makefile rules.
I'm not saying that find / wildcard are bad, or shouldn't be used. Just be aware what you're doing.
(Today I am using
JAWS / CMake, and *do* list each source file and header file individually.)