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