I wish to define a C macro by passing it as an argument to
#define ENABLE_OPT 1
make -DENABLE_OPT=1 -f Makefile
You can use
--eval, which will evaluate the string as a makefile statement:
make --eval="FLAGS+= -D ENABLE_OPT=1"
The make variable FLAGS is then used as a compiler argument to compile the code.