Because looking up a macro name for each library is easier than adding a c file to your makefile? You could still always do
#include "impl.c"
#define XZUGG_IMPL #include "impl.h"