Excluding platform specific files for a build
This approach is to:
Name files with platform-specific suffixes (e.g.,
FooWindows.cpp
for Windows,FooPosix.cpp
for Linux/POSIX).Utilize GNU make's pattern substitution to exclude non-relevant platform files during the build process.
OBJECTS := $(patsubst %Windows.o,,$(OBJECTS)) # Remove object files named *Windows.*
Â