[dpdk-dev] [PATCH v8 00/11] Add installation rules for dpdk files.

Panu Matilainen pmatilai at redhat.com
Wed Dec 2 10:33:56 CET 2015


On 12/01/2015 09:39 PM, Mario Carrillo wrote:
> DPDK package lacks of a mechanism to install libraries, headers
> applications, kernel modules and sdk files to a file system tree.
> This patch set allows to install files based on the next
> proposal:
> http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
>
> v8:
>
> When "make install" is invoked if "T" variable is defined,
> the installation process will have the current
> behaviour, else "install-fhs" rule will be called.
>
> Using rules support is possible to do the next steps:
>
> make config T=<config template>
> make
> make <install target>
>
> Modify the makefile target to specify the files
> that will be installed using a rule:
>
> * make install-bin (install app files)(dafault path bindir=$(exec_prefix)/bin).
>
> * make install-headers (install headers)(dafault path includedir=$(prefix)/include/dpdk).
>
> * make install-lib (install libraries)(dafault path libdir=$(exec_prefix)/lib).
>
> * make install-doc (install documentation)(dafault path docdir=$(datarootdir)/doc/dpdk).
>
> * make install-mod (install modules)(dafault path if RTE_EXEC_ENV=linuxapp then
>                  kerneldir=/lib/modules/$(uname -r)/extra/drivers/dpdk else kerneldir=/boot/modules).
>
> * make install-sdk (install headers, makefiles, scripts,examples and
>                  config files) (default path sdkdir=$(datadir)/share/dpdk).
>
> * make install-fhs (install  libraries, modules, app files, tools and documentation).
>
> * make install (if T is defined current behaviour, else it will call install-fhs rule).
>
> The following defaults apply:
>
>     prefix=/usr/local
>     exec_prefix=$(prefix)
>     datarootdir=$(prefix)/share
>
> All path variables can be overridden and all targets can use the "DESTDIR"
> variable.
>
> Furthermore this information is added to documentation.

Overall, does what it promises.

One point I just realized from comparing with Thomas' variant is that 
this by default installs documentation sources, ie the raw .rst files 
and does not include any "compiled" formats even if they exist.

It might be better to leave docs out by default as Thomas' version does. 
One way of achieving that is only install docs if $(RTE_OUTPUT)/doc, and 
only install anything in that directory. That way you have to request 
doc generation specifically with "make doc" first (which has quite some 
build-dependencies so you might not always wnat it), and only the 
compiled docs get installed. Or something like that.

	- Panu -


More information about the dev mailing list