Хотел сделать через заголовчник-прослойку, потом решил, что
теряется красота решения. // ----
typedef FIFO(16) fifo_t;
#ifndef FILE_C
fifo_t myfifo;
#else
extern fifo_t myfifo;
#endif
Сделаю по классическому пути ( *.h + *.c) , чтобы не разбираться потом мне или другому человеку, как это работает. А так красиво у michas сделано - заголовочник, и в нём всё через дефайны.