By installing Xcode and its Command Line Tools, OS X has GCC and clang.
But its ld(1) is a BSD one.
Therefore, "-s" option won't work. A more portable way seems to be "strip" afterwards.
"-Wl,-Map ..." won't work; "-Wl,-map ..." will. I don't know how to do this in portable way, so remove it altogether.
There comes the attached Makefile. I also added "-f"s to the "rm"s in the "clean" target.