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