mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-20 21:31:28 +02:00
Some commands such as $(cmd_CC) etc already handle the quiet vs verbose mode in the makefile, but sometimes we may want to pass other info. The new "qinfo" macro can be called with a 9-char string argument (spaces included) as a prefix for some commands, to emit that string when in quiet mode. The caller must fill the spaces needed for alignment. E.g: $(call quinfo, CC )$(CC) ...
40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
# 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. The qinfo macro is meant
|
|
# to be called using $(call qinfo,<string>) as a prefix, and will be either
|
|
# empty or that <string>; the caller must pass the alignment spaces (9 chars
|
|
# total).
|
|
ifeq ($V,1)
|
|
cmd_CC = $(CC)
|
|
cmd_CXX = $(CXX)
|
|
cmd_LD = $(LD)
|
|
cmd_AR = $(AR)
|
|
cmd_MAKE = +$(MAKE)
|
|
qinfo =
|
|
else
|
|
ifeq (3.81,$(firstword $(sort $(MAKE_VERSION) 3.81)))
|
|
# 3.81 or above
|
|
cmd_CC = $(info $ CC $@) $(Q)$(CC)
|
|
cmd_CXX = $(info $ CXX $@) $(Q)$(CXX)
|
|
cmd_LD = $(info $ LD $@) $(Q)$(LD)
|
|
cmd_AR = $(info $ AR $@) $(Q)$(AR)
|
|
cmd_MAKE = $(info $ MAKE $@) $(Q)+$(MAKE)
|
|
qinfo = $(info $(1) $@) $(Q)
|
|
else
|
|
# 3.80 or older
|
|
cmd_CC = $(Q)echo " CC $@";$(CC)
|
|
cmd_CXX = $(Q)echo " CXX $@";$(CXX)
|
|
cmd_LD = $(Q)echo " LD $@";$(LD)
|
|
cmd_AR = $(Q)echo " AR $@";$(AR)
|
|
cmd_MAKE = $(Q)echo " MAKE $@";$(MAKE)
|
|
qinfo = $(Q)echo "$(1) $@";
|
|
endif
|
|
endif
|