ifndef and ifdef aren't the same thing