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>

Reply via email to