[dpdk-dev] [PATCH] rte.extvars.mk: allow overriding RTE_SDK_BIN from the environment

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Jan 27 14:38:29 CET 2016


2016-01-20 21:15, Matthew Hall:
> On 1/20/16 7:27 AM, Thomas Monjalon wrote:
> > Hi Matthew,
> >
> > RTE_SDK_BIN is an internal variable and should not be overriden.
>  >
> > Have you installed DPDK somewhere? Example:
> > 	make install O=mybuild DESTDIR=mylocalinstall
> >
> > Then you should build your app like this:
> > 	make RTE_SDK=$(readlink -e ../dpdk/mylocalinstall/usr/local/share/dpdk)
> 
> Hello Thomas,
> 
> Is the way the make install target really works documented somewhere?

It is poorly described here:
http://dpdk.org/doc/guides/prog_guide/dev_kit_root_make_help.html#install-targets

> This target did not exist when I first used DPDK in 2011, and since then 
> I saw various documentation on building DPDK in various places, but not 
> that much explanation what make install actually does. I recall various 
> list threads about changing its behavior as well.

Historically, "make install" was a convenient default build (with T= option).
The DESTDIR option was added to make a real install after building.
The standard form (without T=) is now implemented to do a real install.

> For example, if I look at this apparently most official document:
> 
> http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html
> 
> It has build examples such as:
> 
> make install T=x86_64-native-linuxapp-gcc

This command finishes with this message:
	Installation cannot run with T defined and DESTDIR undefined

Yes you are right, some docs are neither complete nor up-to-date.
Volunteers are welcome.

> But it does not discuss "O=" or "DESTDIR=" or any other additional 
> options. From some experiments on my machine, it looks like maybe I 
> could do this:
> 
> make install "T=${RTE_TARGET}" "O=build" "DESTDIR=build"
> 
> Is that a valid possibility, to keep it all in one easy directory?

Yes you can install where you want.
Note that this command (with T= and O=) will build in the directory $O/$T
i.e. build/${RTE_TARGET} and install in build/

Please confirm that this patch is not needed. Thanks


More information about the dev mailing list