[dpdk-dev] [PATCH v9 00/11] Add installation rules for dpdk files.
Mario Carrillo
mario.alfredo.c.arevalo at intel.com
Thu Dec 3 22:37:40 CET 2015
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
v9:
When "make install-doc" is invoked, if "make doc" was invoked
previously, it will install html and pdf files too, everything else
is the same.
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.
v7:
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,
nic bind files (tools) and documentation).
* make install (if T is defined current behaviour, else it will call install-fhs rule).
where prefix=/usr/local, exec_prefix=$(prefix), datarootdir=$(prefix)/share, and datadir=$(datarootdir)/dpdk by default.
Also you can use the DESTDIR var.
All directory variables mentioned above can be overridden
(bindir, libdir, includedir, docidr, kerneldir, prefix, exec_prefix and data).
Furthermore this information is added to documentation.
v6:
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 BIN_DIR=$(RTE_PREFIX)/bin).
* make install-headers (install headers)(dafault path INCLUDE_DIR=$(RTE_PREFIX)/include/dpdk).
* make install-lib (install libraries)(dafault path LIB_DIR=$(RTE_PREFIX)/lib).
* make install-doc (install documentation)(dafault path DOC_DIR=$(RTE_PREFIX)/share/doc/dpdk).
* make install-mod (install modules)(dafault path if RTE_EXEC_ENV=linuxapp then
KMOD_DIR=/lib/modules/$(uname -r)/extra/drivers/dpdk else KMOD_DIR=/boot/modules).
* make install-sdk (install headers, makefiles, scripts,examples, tools and
config files) (default path DATA_DIR=$(RTE_PREFIX)/share/dpdk).
* make install-fhs (install libraries, modules, app files,
nic bind files and documentation).
* make install (if T is defined current behaviour, else it will call install-fhs rule )
where RTE_PREFIX=/usr/local by default.
Also you can use the DESTDIR var.
All directory variables mentioned above can be overridden
(BIN_DIR, LIB_DIR, INCLUDE_DIR, DOC_DIR, KMOD_DIR, RTE_PREFIX and DATA_DIR).
Furthermore this information is added to documentation.
v5:
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 BIN_DIR=$(RTE_PREFIX)/bin).
* make install-headers (install headers)(dafault path INCLUDE_DIR=$(RTE_PREFIX)/include/dpdk).
* make install-lib (install libraries)(dafault path LIB_DIR=$(RTE_PREFIX)/lib).
* make install-doc (install documentation)(dafault path DOC_DIR=$(RTE_PREFIX)/share/doc/dpdk).
* make install-mod (install modules)(dafault path if RTE_EXEC_ENV=linuxapp then
KMOD_DIR=/lib/modules/$(uname -r)/extra/drivers/dpdk else KMOD_DIR=/boot/modules).
* make install-sdk (install headers, makefiles, scripts,examples, tools and
config files) (default path DATA_DIR=$(RTE_PREFIX)/share/dpdk).
* make install-fhs (install libraries, modules, app files,
nic bind files and documentation).
* make install (if T is defined current behaviour, else it will call install-fhs rule )
where RTE_PREFIX=/usr/local by default.
Also you can use the DESTDIR var.
All directory variables mentioned above can be overridden
(BIN_DIR, LIB_DIR, INCLUDE_DIR, DOC_DIR, KMOD_DIR, RTE_PREFIX and DATA_DIR).
Furthermore this information is added to documentation (build-sdk-quick.txt file)
v4:
Add instalation rules for dpdk files.
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 according to the next
proposal:
http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
And this patch set does not affect the current dpdk behavior.
Using rules support is possible to do the next steps:
make config T=TARGET
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 BIN_DIR=/usr/bin).
* make install-headers (install headers)(dafault path INCLUDE_DIR=/usr/include/dpdk).
* make install-lib (install libraries)(dafault path if the architecture is 64 bits
is LIB_DIR=/usr/lib64 else LIB_DIR=/usr/lib).
* make install-doc (install documentation)(dafault path DOC_DIR=/usr/share/doc/dpdk).
* make install-mod (install modules)(dafault path if RTE_EXEC_ENV=linuxapp then
KERNEL_DIR=/lib/modules/$(uname -r)/extra/drivers/dpdk else KERNEL_DIR=/boot/modules).
* make install-sdk (install headers, makefiles, scripts,examples, tools and
config files) (default path DATA_DIR=/usr/share/dpdk).
* make install-fhs (install libraries, modules, app files,
nic bind files and documentation).
Also you can use the DESTDIR variable.
All directory variables mentioned above can be overridden
(BIN_DIR, LIB_DIR, INCLUDE_DIR, DOC_DIR, KERNEL_DIR and DATA_DIR).
v3:
Modify the makefile target to specify the files
that will be installed using a rule:
make install-bin (install app files)(dafault path BIN_DIR=/usr/bin).
make install-headers (install headers)(dafault path INCLUDE_DIR=/usr/include/dpdk).
make install-lib (install libraries)(dafault path if the architecture is 64 bits
is LIB_DIR=/usr/lib64 else LIB_DIR=/usr/lib).
make install-sbin (install nic bind files)(dafault path SBIN_DIR=/usr/sbin).
make install-doc (install documentation)(dafault path DOC_DIR=/usr/share/doc/dpdk).
make install-mod (install modules)(dafault path if RTE_EXEC_ENV=linuxapp then
KERNEL_DIR=/lib/modules/$(uname -r)/build else KERNEL_DIR=/boot/modules).
make install-sdk (install headers, makefiles, scripts,examples, tools and
config files) (default path DATA_DIR=/usr/share/dpdk).
make install-fhs (install libraries, modules, app files,
nic bind files and documentation).
Also you can use the DESTDIR variable.
All directory variables mentioned above can be overridden
(BIN_DIR, LIB_DIR, INCLUDE_DIR, SBIN_DIR, DOC_DIR, KERNEL_DIR and DATA_DIR).
v2:
Modify the makefile target to specify the files
that will be installed using a rule:
make install-bin (install app files).
make install-headers (install headers).
make install-lib (install libraries).
make install-sbin (install nic bind files).
make install-doc (install documentation).
make install-mod (install modules).
make install-sdk (install headers, makefiles, scripts,
examples, tools and config files).
make install-fhs (install libraries, modules, app files,
nic bind files and documentation).
Also you can use the DESTDIR variable.
v1:
By adding a parameter H=1 (hierarchy-file) to makefile system, it is
possible to do the next steps
make config T=TARGET
make
make install H=1
and files will be installed on the proper directory. Also you can use
the DESTDIR variable.
Mario Carrillo (11):
mk: Add rule for installing headers
mk: Add rule for installing app files
mk: Add rule for installing libraries
mk: Add rule for installing modules
mk: Add rule for installing documentation
mk: Add rule for installing sdk files
mk: Add rule for installing runtime files
app: Change name to test binary
mk: Rename install rule as mbuild rule
mk: Add new install rule
doc: Add information about new installation rules
app/test/Makefile | 2 +-
doc/build-sdk-quick.txt | 23 +++++-
doc/guides/freebsd_gsg/build_dpdk.rst | 60 ++++++++++++++
doc/guides/linux_gsg/build_dpdk.rst | 60 ++++++++++++++
mk/rte.sdkinstall.mk | 146 ++++++++++++++++++++++++++++++++--
mk/rte.sdkroot.mk | 6 +-
6 files changed, 287 insertions(+), 10 deletions(-)
--
2.6.3
More information about the dev
mailing list