Replace #ifdef with #if defined() and #elif with #elif defined() as it should only test if it is defined or not.
This brings us a lot more tidiness.