handle - in defines and better message if no -c