[dpdk-dev] [PATCH 06/11] mk: fix verbose pmdinfogen run

Neil Horman nhorman at tuxdriver.com
Thu Jul 7 18:04:14 CEST 2016


On Thu, Jul 07, 2016 at 05:36:25PM +0200, Thomas Monjalon wrote:
> When building with "make V=1" it is expected to see the output of each
> compiler command in order to debug them.
> Unfortunately the pmdinfogen related commands were always quiet.
> 
> It is fixed by defining the commands in some Makefile variables.
> They are printed if the verbose mode is enabled.
> 
> The other benefit of this rework is to stop compilation after a
> failure with pmdinfogen.
> 
> The command readlink is removed in this rework because it seems useless.
> 
> Fixes: 3d781ca32874 ("mk: do post processing on objects that register a driver")
> 
> Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> ---
>  mk/internal/rte.compile-pre.mk | 26 ++++++++++++--------------
>  1 file changed, 12 insertions(+), 14 deletions(-)
> 
> diff --git a/mk/internal/rte.compile-pre.mk b/mk/internal/rte.compile-pre.mk
> index 87d2d93..9c25ff6 100644
> --- a/mk/internal/rte.compile-pre.mk
> +++ b/mk/internal/rte.compile-pre.mk
> @@ -84,28 +84,26 @@ C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CFLAGS) \
>  C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
>  C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  CC $(@)")
>  endif
> +PMDINFO_GEN = $(RTE_SDK_BIN)/app/pmdinfogen $@ $@.pmd.c
> +PMDINFO_CC = $(CC) $(CFLAGS) -c -o $@.pmd.o $@.pmd.c
> +PMDINFO_LD = $(CROSS)ld $(LDFLAGS) -r -o $@.o $@.pmd.o $@
> +PMDINFO_TO_O = if grep -q 'PMD_REGISTER_DRIVER(.*)' $<; then \
> +	echo "$(if $V,$(PMDINFO_GEN),  PMDINFO $@.pmd.c)" && \
> +	$(PMDINFO_GEN) && \
> +	echo "$(if $V,$(PMDINFO_CC),  CC $@.pmd.o)" && \
> +	$(PMDINFO_CC) && \
> +	echo "$(if $V,$(PMDINFO_LD),  LD $@)" && \
> +	$(PMDINFO_LD) && \
> +	mv -f $@.o $@; fi
>  C_TO_O_CMD = 'cmd_$@ = $(C_TO_O_STR)'
>  C_TO_O_DO = @set -e; \
>  	echo $(C_TO_O_DISP); \
>  	$(C_TO_O) && \
> -	sh -c "grep -q \"PMD_REGISTER_DRIVER(.*)\" $<; \
> -	if [ \$$? -eq 0 ]; then \
> -		echo \"  PMDINFOGEN\" $@; \
> -		OBJF=`readlink -f $@`; \
> -		$(RTE_SDK_BIN)/app/pmdinfogen \$$OBJF \$$OBJF.pmd.c; \
> -		if [ \$$? -eq 0 ]; \
> -		then \
> -			echo \"  PMDINFOBUILD\" $@; \
> -			$(CC) $(CFLAGS) -c -o \$$OBJF.pmd.o \$$OBJF.pmd.c; \
> -			$(CROSS)ld $(LDFLAGS) -r -o \$$OBJF.o \$$OBJF.pmd.o \$$OBJF; \
> -			mv -f \$$OBJF.o \$$OBJF; \
> -		fi; \
> -	fi;" && \
> +	$(PMDINFO_TO_O) && \
>  	echo $(C_TO_O_CMD) > $(call obj2cmd,$(@)) && \
>  	sed 's,'$@':,dep_'$@' =,' $(call obj2dep,$(@)).tmp > $(call obj2dep,$(@)) && \
>  	rm -f $(call obj2dep,$(@)).tmp
>  
> -
>  # return an empty string if string are equal
>  compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
>  
> -- 
> 2.7.0
> 
> 
Acked-by: Neil Horman <nhorman at tuxdriver.com>



More information about the dev mailing list