Я обычно передаю определения макросов из «make command line» в «makefile», используя параметр: -Dname = value. Определение доступно внутри make-файла.
Я также передаю определения макросов из «makefile» в «исходный код», используя аналогичный параметр компилятора: -Dname = value (поддерживается во многих компиляторах). Это определение доступно в исходном коде.
Что мне сейчас нужно, так это позволить пользователю моего make-файла сразу передавать произвольные макроопределения из "командной строки make.exe" в "исходный код" без необходимости изменять что-либо в make-файле.
поэтому пользователь может ввести: make -f mymakefile.mk -SOMEOPTION var = 5
тогда непосредственно код main.c может увидеть var:
int main()
{
int i = var;
}