Hi, This is the final form (or, at least, I am done with this). I am forwarding this to bugs.debian.org
manoj The minimal change: ====================================================================== CC = gcc CFLAGS = -O2 -g -Wall # sane warning options vary between programs LDFLAGS = # none install -s # (or use strip on the files in debian/tmp) ... The `-g' flag is useful on compilation so that you have available a full set of debugging symbols in your built source tree, in case anyone should file a bug report involving (for example) a core dump. + Alternately, you could use an environment variable + BUILD_OPTIONS, which, if it contains `debug', would cause + compilation to be done with -g. (Remember not to call + ``install -s'' or strip on the binaries afterwards for this + case). The resulting binaries in your built package will then + contain the full set of debugging symbols (remember not to call + ``install -s'' or ``strip'' on the binaries afterwards). + + This would let us later add other options in a fairly clean way. + + Additionally, (and optionally) you may also provide a target + `build-debug' in debian/rules which has the same effect as + setting BUILD_OPTIONS to contain `debug'. This can be done + quite simply, with the folowing lines: + build-debug: BUILD_OPTIONS+=debug + build-debug: build + Note: You still have to ensure that BUILD_OPTIONS is honoured. ====================================================================== The second way: we don't just offer an alternative, we deprecate the old method, but let it be still legal. ====================================================================== CC = gcc - CFLAGS = -O2 -g -Wall # sane warning options vary between programs + # sane warning options vary between programs + CFLAGS = -O2 -Wall + ifneq (,$(findstring $(BUILD_OPTIONS),DEBUG Debug debug)) + CFLAGS += -g + INSTALL_FLAGS= -s + endif LDFLAGS = # none - install -s # (or use strip on the files in debian/tmp) + install $(INSTALL_FLAGS) # ... The `-g' flag is useful on compilation so that you have available a full set of debugging symbols in your built source tree, in case anyone should file a bug report involving (for example) a core dump. + It is acceptable, but deprecated, to always have -g in + ``CFLAGS'', and ``use install -s'' to install binaries or use + ``strip'' on the binaries in debian/tmp, but that make it + hard to create a debuggable debian package, and increase + build time for all builds, since debugging information is + created and then stripped away. The preferred method is to + use an environment variable BUILD_OPTIONS, which, if it + contains `debug', would cause compilation to be done with -g. The + resulting binaries in your package will then contain the full + set of debugging symbols (remember not to call ``install -s'' + or ``strip'' on the binaries afterwards). + + This would let us later add other options in a fairly clean way. + + Additionally, (and optionally) you may also provide a target + `build-debug' in debian/rules which has the same effect as + setting BUILD_OPTIONS to contain `debug'. This can be done + quite simply, with the folowing lines: + build-debug: BUILD_OPTIONS+=debug + build-debug: build ====================================================================== -- INSIDE, I have the same personality disorder as LUCY RICARDO!! Manoj Srivastava <[EMAIL PROTECTED]> <http://www.debian.org/%7Esrivasta/> Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E