From d575661d402fc8740c6d915bdd3a5259c38c8a63 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 17 Nov 2022 08:15:27 +0100 Subject: [PATCH] BUILD: makefile: properly pass CC to sub-projects The "poll" and "tcploop" sub-projects have their own makefiles. But since the cmd_* commands were migrated from "echo" to $(info) with make 3.81, the command is confusingly displayed in the top-level makefile before entering the directory, even making one think that the build occurred. Let's instead propagate the verbosity level through the sub-projects and let them adapt their own cmd_CC. For now this peans a little bit of duplication for poll and tcploop. --- Makefile | 4 ++-- dev/poll/Makefile | 20 +++++++++++++++++++- dev/tcploop/Makefile | 20 +++++++++++++++++++- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 3e765aec1e..6902c37c07 100644 --- a/Makefile +++ b/Makefile @@ -1031,13 +1031,13 @@ dev/hpack/%: dev/hpack/%.o $(cmd_LD) $(LDFLAGS) -o $@ $^ $(LDOPTS) dev/poll/poll: - $(Q)$(MAKE) -C dev/poll poll CC='$(cmd_CC)' OPTIMIZE='$(COPTS)' + $(Q)$(MAKE) -C dev/poll poll CC='$(CC)' OPTIMIZE='$(COPTS)' V='$(V)' dev/qpack/decode: dev/qpack/decode.o $(cmd_LD) $(LDFLAGS) -o $@ $^ $(LDOPTS) dev/tcploop/tcploop: - $(Q)$(MAKE) -C dev/tcploop tcploop CC='$(cmd_CC)' OPTIMIZE='$(COPTS)' + $(Q)$(MAKE) -C dev/tcploop tcploop CC='$(CC)' OPTIMIZE='$(COPTS)' V='$(V)' dev/udp/udp-perturb: dev/udp/udp-perturb.o $(cmd_LD) $(LDFLAGS) -o $@ $^ $(LDOPTS) diff --git a/dev/poll/Makefile b/dev/poll/Makefile index fdee514c62..9a493bb711 100644 --- a/dev/poll/Makefile +++ b/dev/poll/Makefile @@ -4,8 +4,26 @@ 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 - $(CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^ + $(cmd_CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^ clean: rm -f $(OBJS) *.[oas] *~ diff --git a/dev/tcploop/Makefile b/dev/tcploop/Makefile index 42a6259c2b..fd80af9b9c 100644 --- a/dev/tcploop/Makefile +++ b/dev/tcploop/Makefile @@ -4,8 +4,26 @@ 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 - $(CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^ + $(cmd_CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^ clean: rm -f $(OBJS) *.[oas] *~