Ifdef Vs plusargs:

A difference between ifdef and plusarg is that ifdef removes/adds code in compilation itself, while plusarg will compile the entire code suite. While using ifdef, one needs to re-compile in order to change the macro argument. On the other hand, the plusarg code is compiled irrespective of the command line argument