Eu normalmente passo definições de macro de "make command line" para um "makefile" usando a opção: -Dname = value. A definição está acessível dentro do makefile.
Também passo definições de macro do "makefile" para o "código-fonte" usando a opção de compilador semelhante: -Dname = value (compatível com muitos compiladores). Esta definição está acessível no código-fonte.
O que eu preciso agora é permitir que o usuário do meu makefile seja capaz de passar definições arbitrárias de macro da "linha de comando make.exe" para o "código-fonte" imediatamente, sem ter que alterar nada no makefile.
para que o usuário possa digitar: make -f mymakefile.mk -SOMEOPTION var = 5
então diretamente o código main.c pode ver var:
int main()
{
int i = var;
}