BUILD: makefile: move default verbosity settings to include/make/verbose.mk

The $(Q), $(V), $(cmd_xx) handling needs to be reused in sub-project
makefiles and it's a pain to maintain inside the main makefile. Let's
just move that into a new subdir include/make/ with a dedicated file
"verbose.mk". It slightly cleans up the makefile in addition.
diff --git a/Makefile b/Makefile
index 6902c37..8baed62 100644
--- a/Makefile
+++ b/Makefile
@@ -123,12 +123,7 @@
 #   VTEST_PROGRAM  : location of the vtest program to run reg-tests.
 #   DEBUG_USE_ABORT: use abort() for program termination, see include/haproxy/bug.h for details
 
-# verbosity: pass V=1 for verbose shell invocation
-V = 0
-Q = @
-ifeq ($V,1)
-Q=
-endif
+include include/make/verbose.mk
 
 # WARNING: Do not change cc-opt, cc-opt-alt or cc-warning without checking if
 #          clang bug #49364 is fixed. stderr is redirected to /dev/null on
@@ -865,24 +860,6 @@
 # add options at the beginning of the "ld" command line if needed.
 LDOPTS = $(TARGET_LDFLAGS) $(OPTIONS_LDFLAGS) $(ADDLIB)
 
-ifeq ($V,1)
-cmd_CC = $(CC)
-cmd_LD = $(LD)
-cmd_AR = $(AR)
-else
-ifeq (3.81,$(firstword $(sort $(MAKE_VERSION) 3.81)))
-# 3.81 or above
-cmd_CC = $(info $   CC      $@) $(Q)$(CC)
-cmd_LD = $(info $   LD      $@) $(Q)$(LD)
-cmd_AR = $(info $   AR      $@) $(Q)$(AR)
-else
-# 3.80 or older
-cmd_CC = $(Q)echo "  CC      $@";$(CC)
-cmd_LD = $(Q)echo "  LD      $@";$(LD)
-cmd_AR = $(Q)echo "  AR      $@";$(AR)
-endif
-endif
-
 ifeq ($(TARGET),)
 all:
 	@echo "Building HAProxy without specifying a TARGET is not supported."
diff --git a/dev/poll/Makefile b/dev/poll/Makefile
index 9a493bb..0247099 100644
--- a/dev/poll/Makefile
+++ b/dev/poll/Makefile
@@ -1,27 +1,11 @@
+include ../../include/make/verbose.mk
+
 CC       = cc
 OPTIMIZE = -O2 -g
 DEFINE   =
 INCLUDE  =
 OBJS     = poll
 
-V = 0
-Q = @
-ifeq ($V,1)
-Q=
-endif
-
-ifeq ($V,1)
-cmd_CC = $(CC)
-else
-ifeq (3.81,$(firstword $(sort $(MAKE_VERSION) 3.81)))
-# 3.81 or above
-cmd_CC = $(info $   CC      $@) $(Q)$(CC)
-else
-# 3.80 or older
-cmd_CC = $(Q)echo "  CC      $@";$(CC)
-endif
-endif
-
 poll: poll.c
 	$(cmd_CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^
 
diff --git a/dev/tcploop/Makefile b/dev/tcploop/Makefile
index fd80af9..6d0a0c2 100644
--- a/dev/tcploop/Makefile
+++ b/dev/tcploop/Makefile
@@ -1,27 +1,11 @@
+include ../../include/make/verbose.mk
+
 CC       = gcc
 OPTIMIZE = -O2 -g
 DEFINE   =
 INCLUDE  =
 OBJS     = tcploop
 
-V = 0
-Q = @
-ifeq ($V,1)
-Q=
-endif
-
-ifeq ($V,1)
-cmd_CC = $(CC)
-else
-ifeq (3.81,$(firstword $(sort $(MAKE_VERSION) 3.81)))
-# 3.81 or above
-cmd_CC = $(info $   CC      $@) $(Q)$(CC)
-else
-# 3.80 or older
-cmd_CC = $(Q)echo "  CC      $@";$(CC)
-endif
-endif
-
 tcploop: tcploop.c
 	$(cmd_CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^
 
diff --git a/include/make/verbose.mk b/include/make/verbose.mk
new file mode 100644
index 0000000..6539747
--- /dev/null
+++ b/include/make/verbose.mk
@@ -0,0 +1,27 @@
+# verbosity: pass V=1 for verbose shell invocation
+V = 0
+Q = @
+ifeq ($V,1)
+Q=
+endif
+
+# Some common commands such as CC/LD/AR are redefined with a cmd_ equivalent
+# and are either mapped to a silent rule just indicating what is being done,
+# or to themselves depending on the verbosity level.
+ifeq ($V,1)
+cmd_CC = $(CC)
+cmd_LD = $(LD)
+cmd_AR = $(AR)
+else
+ifeq (3.81,$(firstword $(sort $(MAKE_VERSION) 3.81)))
+# 3.81 or above
+cmd_CC = $(info $   CC      $@) $(Q)$(CC)
+cmd_LD = $(info $   LD      $@) $(Q)$(LD)
+cmd_AR = $(info $   AR      $@) $(Q)$(AR)
+else
+# 3.80 or older
+cmd_CC = $(Q)echo "  CC      $@";$(CC)
+cmd_LD = $(Q)echo "  LD      $@";$(LD)
+cmd_AR = $(Q)echo "  AR      $@";$(AR)
+endif
+endif