나는 보통 "make command line"에서 "makefile"옵션을 사용하여 매크로 정의를 전달합니다 : -Dname = value. 정의는 makefile 내에서 액세스 할 수 있습니다.
또한 유사한 컴파일러 옵션을 사용하여 "makefile"의 매크로 정의를 "소스 코드"로 전달합니다. -Dname = value (많은 컴파일러에서 지원됨). 이 정의는 소스 코드에서 액세스 할 수 있습니다.
지금 필요한 것은 makefile의 사용자가 makefile에서 아무것도 변경하지 않고도 "make.exe 명령 줄"에서 "소스 코드"로 임의의 매크로 정의를 즉시 전달할 수 있도록하는 것입니다.
따라서 사용자는 다음을 입력 할 수 있습니다. make -f mymakefile.mk -SOMEOPTION var = 5
그런 다음 코드 main.c에서 var를 볼 수 있습니다.
int main()
{
int i = var;
}