Zazwyczaj przekazuję definicje makr z "make command line" do "makefile" używając opcji: -Dname = wartość. Definicja jest dostępna w pliku makefile.
Przekazuję również definicje makr z „makefile” do „kodu źródłowego” przy użyciu podobnej opcji kompilatora: -Dname = wartość (obsługiwana w wielu kompilatorach). Ta definicja jest dostępna w kodzie źródłowym.
To, czego teraz potrzebuję, to umożliwienie użytkownikowi mojego makefile natychmiastowego przekazania dowolnych definicji makr z wiersza polecenia „make.exe” do „kodu źródłowego”, bez konieczności zmiany czegokolwiek w pliku makefile.
więc użytkownik może wpisać: make -f mymakefile.mk -SOMEOPTION var = 5
następnie bezpośrednio kod main.c może zobaczyć var:
int main()
{
int i = var;
}