I've not liked the lack of dependency management in the makefiles used for building Windows for quite a while. David spent quite a bit of time trying to get a Windows build working with autoconf and never really got things working. I'm sort of thinking we might be able to do this as a manual process by taking the Makefile generated for Linux and manually converting it into a Windows makefile. At first glance, this doesn't really look to be that bad. There are a lot of changes to make, but mostly of the repetitive variety. Once converted, we'll have a make file with all of the dependencies created. This will still need to manually updated in the future, but we'll have a make file that operates better than the one we're using now (which for all intents, is 25 years old). Hopefully, we'll be able to keep this skewing too much from the autoconf generated one. It might even be an interesting exercise to write a tool to sync the dependencies up again. Left as a exercise to the reader! I'm willing to take a crack at converting to see if this is workable.
The autoconf generated make file builds all of the project from the single makefile, while on Windows, we have separate makefiles for each of the subprojects (e.g., various extensions like rxsock, rxmath, etc.). I can go either way on the port, though I suspect as a first step, I'll create a combined make. Note that this will not cover the Windows-only extensions because the Linux Makefile does not have anything generated for those directories. Any opinions on the single file/multiple file question?