А я наверное пишу совсем неправильно и потому во всех проектах
создаю для main.c кроме main.h еще и var.h. В main.h пишу все общие
дефайны проекта и typedef-ы, а в var.h глобальные переменные. Ну а
extern-ы в соответствующих c-файлах. Глобальные - по минимуму.