Зазвичай я передаю визначення макросу з "make command line" в "makefile", використовуючи параметр: -Dname = значення. Визначення доступне всередині makefile.
Я також передаю визначення макросу з "makefile" до "вихідного коду", використовуючи аналогічний варіант компілятора: -Dname = значення (підтримується у багатьох компіляторах). Це визначення доступне у вихідному коді.
Що мені зараз потрібно - це дозволити користувачеві мого makefile мати можливість передавати довільні макроозначення з командної лінії "make.exe" до "вихідного коду", не змінюючи нічого в makefile.
тож користувач може набрати: make -f mymakefile.mk -SOMEOPTION var = 5
то безпосередньо код main.c може побачити var:
int main()
{
int i = var;
}