From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id C91FD8D99 for ; Tue, 1 Dec 2015 20:38:55 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 01 Dec 2015 11:38:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,370,1444719600"; d="scan'208";a="832078474" Received: from mcarril6-mobl.zpn.intel.com ([10.219.16.33]) by orsmga001.jf.intel.com with ESMTP; 01 Dec 2015 11:38:53 -0800 From: Mario Carrillo To: dev@dpdk.org Date: Tue, 1 Dec 2015 13:39:02 -0600 Message-Id: <1448998753-26599-1-git-send-email-mario.alfredo.c.arevalo@intel.com> X-Mailer: git-send-email 2.6.3 In-Reply-To: <1442608390-12537-1-git-send-email-mario.alfredo.c.arevalo@intel.com> References: <1442608390-12537-1-git-send-email-mario.alfredo.c.arevalo@intel.com> Cc: jos.c.venegas.munoz@intel.com Subject: [dpdk-dev] [PATCH v8 00/11] Add installation rules for dpdk files. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Dec 2015 19:38:56 -0000 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= make make 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= make make 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= make make 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= make make 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 | 62 +++++++++++++++ doc/guides/linux_gsg/build_dpdk.rst | 62 +++++++++++++++ mk/rte.sdkinstall.mk | 146 ++++++++++++++++++++++++++++++++-- mk/rte.sdkroot.mk | 6 +- 6 files changed, 291 insertions(+), 10 deletions(-) -- 2.6.3