I have used this summary reference for years but it is beginning to show its age. If you have any you might suggest as more current I would greatly appreciate it.
Some resources that leap to mind:
GCC manuals: Manuals for GCC at various versions.
GNU binutils: Where the real documentation for ld lives.
Predef project: C/C++ predefined macros for many platforms, targets, and compilers.
GNU make: Sometimes you really do want to know what $<
was intended to mean...
In my experience, you won't find a lot of detail about the cross platform issues at any one of those places, though. I've soaked up a lot of it over the years, but haven't tried to codify that knowledge in any useful form.
I would imagine that any of the cross-platform build tools have to include a fair amount of that kind of knowledge, even if it is tied up in their sources or in their developer/internals documentation. You could try delving into CMake, for instance, which tries to know how to create Makefiles for *nix platforms as well as Visual Studio projects at various rev levels for Windows platforms.