[dpdk-dev] [PATCH v2] mk: fix parallel build of test resources

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Jun 24 16:19:34 CEST 2016


2016-06-24 16:06, Olivier Matz:
> Hi Thomas,
> 
> On 06/24/2016 01:22 PM, Thomas Monjalon wrote:
> > --- a/app/test/Makefile
> > +++ b/app/test/Makefile
> > @@ -43,14 +43,14 @@ define linked_resource
> >  SRCS-y += $(1).res.o
> >  $(1).res.o: $(2)
> >  	@  echo '  MKRES $$@'
> > -	$Q ln -fs $$< resource.tmp
> > +	$Q [ "$$(<D)" = . ] || ln -fs $$<
> 
> Maybe the symbolic link file in the build directory could be prefixed
> with "lnk_"... (see following below)

yes...
 
> >  	$Q $(OBJCOPY) -I binary -B $(RTE_OBJCOPY_ARCH) -O $(RTE_OBJCOPY_TARGET) \
> >  		--rename-section                                         \
> >  			.data=.rodata,alloc,load,data,contents,readonly  \
> > -		--redefine-sym _binary_resource_tmp_start=beg_$(1)       \
> > -		--redefine-sym _binary_resource_tmp_end=end_$(1)         \
> > -		--redefine-sym _binary_resource_tmp_size=siz_$(1)        \
> > -		resource.tmp $$@ && rm -f resource.tmp
> > +		--redefine-sym _binary_$$(subst .,_,$$(<F))_start=beg_$(1) \
> > +		--redefine-sym _binary_$$(subst .,_,$$(<F))_end=end_$(1)   \
> > +		--redefine-sym _binary_$$(subst .,_,$$(<F))_size=siz_$(1)  \
> > +		$$(<F) $$@
> >  endef
> >  
> >  ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
> > @@ -76,7 +76,9 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c
> >  SRCS-y += test.c
> >  SRCS-y += resource.c
> >  SRCS-y += test_resource.c
> > -$(eval $(call linked_resource,test_resource_c,resource.c))
> > +test_resource.res: test_resource.c
> > +	@ cp $< $@
> > +$(eval $(call linked_resource,test_resource_c,test_resource.res))
> >  $(eval $(call linked_tar_resource,test_resource_tar,test_resource.c))
> >  SRCS-$(CONFIG_RTE_APP_TEST_RESOURCE_TAR) += test_pci.c
> >  $(eval $(call linked_tar_resource,test_pci_sysfs,test_pci_sysfs))
> 
> ...this would avoid to rename the resource file and make the patch
> easier to understand.

... but it would be harder to understand how are named the resources in
the build directory ;)
Ideally we should not use a source file (referenced in SRCS-y) as a
test resource.


More information about the dev mailing list