Hello, On Thu, Dec 08, 2005 at 10:24:26AM +0100, Daniel Kraft wrote: > Prior to using the GNU build system (especially automake) I used my own plain > Makefiles which set compiler flags like -g, -O2 > or -Ds enabling assertions depending on a variable set on commandline. So it > was > possible to compile debugging/optimized code just by changing the > make-command: > > make mode=opt > make mode=debug > ...
with Automake, the situation is very similar; you are supposed to call make CFLAGS=-O2 make CFLAGS=-g ... > Using automake the default compiler flags seem to be -g -O2; To be more exact: if you don't specify CFLAGS as an argument to the make, a default value applies. This default value is defined at configure time: ./configure CFLAGS=-O2 [...] If you don't define the "default value for CFLAGS" as an argument to ./configure, then it deaults to "-g -O2". To sum up: 1) give "CFLAGS=-O2" as an argument to ./configure 2) use CFLAGS=-g instead of make=debug Yes, there are some difference: With your old solution, the package maintainer prepared make=opt and such. With the solution proposed above, _the user_ has to specify the values when compiling the package. It looks more complicated, but it is more standard: it should work with all packages which behave according GNU Condig Standards. Hope this helps, Stepan Kasal