[dpdk-dev] "cannot use T= with gcov target" when doing "makefile clean" with DPDK-2.1.0

Olivier MATZ olivier.matz at 6wind.com
Mon Sep 7 09:57:21 CEST 2015


Hi Francesco,

On 08/28/2015 11:06 AM, Montorsi, Francesco wrote:
> Hi all,
> 
> I found that after unzipping dpdk-2.1.0.tar.gz if I run:
>        # make T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc    config	
> And then
>     # make V=1 T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc    clean
> 
> I get:
> 
> [...]
> == Clean app/proc_info
> make -f /home/fmontorsi/Downloads/dpdk-2.1.0/GNUmakefile gcovclean
> make -f /home/fmontorsi/Downloads/dpdk-2.1.0/mk/rte.sdkgcov.mk gcovclean
> /home/fmontorsi/Downloads/dpdk-2.1.0/mk/rte.sdkgcov.mk:34: *** "Cannot use T= with gcov target".  Stop.
> make[2]: *** [gcovclean] Error 2
> make[1]: *** [clean] Error 2
> make: *** [clean] Error 2
> 	
> I guess the fix is:
> 
> --- /home/fmontorsi/Downloads/dpdk-2.1.0/mk/rte.sdkbuild.mk	2015-08-17 19:35:37.000000000 +0200
> +++ dpdk-2.1.0/mk/rte.sdkbuild.mk	2015-08-28 10:52:56.092466418 +0200
> @@ -85,5 +85,7 @@
>  	@$(RTE_SDK)/scripts/gen-config-h.sh $(RTE_OUTPUT)/.config \
>  		> $(RTE_OUTPUT)/include/rte_config.h
> +ifndef T
>  	$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
> +endif
>  	@echo Clean complete
> 
> 
> Let me know if the patch above is wrong or I should do something else to contribute it to the project in the right way.

I had a look to your test case, I think the second command is not
correct. The T= parameter is not allowed for the clean target. It
should be something like this:

  # configure a workspace using template specified by T= in the
  # directory specified by O=
  make T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc config

  # clean the directory specified by O=
  make O=x86_64-native-linuxapp-gcc clean

See "make help" for details.


I think the proper patch would be to add the following lines on the
top of rte.sdkbuild.mk:

	ifdef T
	ifeq ("$(origin T)", "command line")
	$(error "Cannot use T= with a build/clean target")
	endif
	endif


It would then display the proper error message.
Can you have a try?

Regards,
Olivier


More information about the dev mailing list