Makefile: add a DEVOPTS to suppress -Werror under DEVELOPER

Add a DEVOPTS variable that'll be used to tweak the behavior of DEVELOPER. I've long wanted to use DEVELOPER=1 in my production builds, but on some old systems I still get warnings, and thus the build would fail. However if the build/tests fail for some other reason, it would still be useful to scroll up and see what the relevant code is warning about. This change allows for that. Now setting DEVELOPER will set -Werror as before, but if DEVOPTS=no-error is provided is set you'll get the same warnings, but without -Werror. Helped-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Apr 14, 2018 at 19:19 UTC 99f763baf5941455aefd176f9b1e98a4ff81f611
2 files changed +12
Makefile
+10
@@ -435,6 +435,16 @@ all::
435 # Define DEVELOPER to enable more compiler warnings. Compiler version
436 # and family are auto detected, but could be overridden by defining
437 # COMPILER_FEATURES (see config.mak.dev)
438 +#
439 +# When DEVELOPER is set, DEVOPTS can be used to control compiler
440 +# options. This variable contains keywords separated by
441 +# whitespace. The following keywords are are recognized:
442 +#
443 +# no-error:
444 +#
445 +# suppresses the -Werror that implicitly comes with
446 +# DEVELOPER=1. Useful for getting the full set of errors
447 +# without immediately dying, or for logging them.
448
449 GIT-VERSION-FILE: FORCE
450 @$(SHELL_PATH) ./GIT-VERSION-GEN
config.mak.dev
+2
@@ -1,4 +1,6 @@
1 +ifeq ($(filter no-error,$(DEVOPTS)),)
2 CFLAGS += -Werror
3 +endif
4 CFLAGS += -Wdeclaration-after-statement
5 CFLAGS += -Wno-format-zero-length
6 CFLAGS += -Wold-style-definition