Я ничего не знаю об Erlang, но, вероятно, вы не можете просто создать файл .h только с необходимыми определениями и #include его (или эквивалент) в обоих местах.
Если вы не можете этого сделать, я бы посмотрел на автоматическое создание файла для одного из другого.
РЕДАКТИРОВАТЬ: только что посмотрев на документы Erlang, формат очень похож, но не совсем то же самое.
Эрланг нуждается -define(Const, Replacement)
C необходимо #define const replacement
Итак, я бы написал один текстовый файл, содержащий синтаксис Erlang (только для этих определений), а затем в качестве шага перед сборкой в моей сборке C я сделал бы что-то вроде
sed s/-define/#define/g
sed s/[\(\),]//g
на временную копию этого файла, которую я затем #include
поместил бы в мой источник C.