From: Olivier Matz Date: Fri, 24 Mar 2017 13:21:31 +0000 (+0100) Subject: mk: optimize directory dependencies X-Git-Tag: spdx-start~4397 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=feb9f680cd2c1df3d47bf4c05dc872467176e1e3;p=dpdk.git mk: optimize directory dependencies Before this patch, the management of dependencies between directories had several issues: - the generation of .depdirs, done at configuration is slow: it can take more than one minute on some slow targets (usually ~10s on a standard PC without -j). - for instance, it is possible to express a dependency like: - app/foo depends on lib/librte_foo - and lib/librte_foo depends on app/bar But this won't work because the directories are traversed with a depth-first algorithm, so we have to choose between doing 'app' before or after 'lib'. - the script depdirs-rule.sh is too complex. - we cannot use "make -d" for debug, because the output of make is used for the generation of .depdirs. This patch moves the DEPDIRS-* variables in the upper Makefile, making the dependencies much easier to calculate. A DEPDIRS variable is still used to process library dependencies in LDLIBS. After this commit, "make config" is almost immediate. Signed-off-by: Olivier Matz Tested-by: Robin Jarry Tested-by: Jerin Jacob --- diff --git a/MAINTAINERS b/MAINTAINERS index 0c78b589a0..0b1524d3c5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -57,7 +57,6 @@ F: config/ F: mk/ F: pkg/ F: buildtools/auto-config-h.sh -F: buildtools/depdirs-rule.sh F: buildtools/gen-build-mk.sh F: buildtools/gen-config-h.sh F: buildtools/relpath.sh diff --git a/app/pdump/Makefile b/app/pdump/Makefile index 536198faf0..38ac3e9aa3 100644 --- a/app/pdump/Makefile +++ b/app/pdump/Makefile @@ -41,9 +41,6 @@ CFLAGS += $(WERROR_FLAGS) SRCS-y := main.c -# this application needs libraries first -DEPDIRS-y += lib - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/app/proc_info/Makefile b/app/proc_info/Makefile index e051e03238..9e90438eb0 100644 --- a/app/proc_info/Makefile +++ b/app/proc_info/Makefile @@ -39,7 +39,4 @@ CFLAGS += $(WERROR_FLAGS) SRCS-y := main.c -# this application needs libraries first -DEPDIRS-y += lib - include $(RTE_SDK)/mk/rte.app.mk diff --git a/app/test-crypto-perf/Makefile b/app/test-crypto-perf/Makefile index 276ba68eb8..5120b88b6d 100644 --- a/app/test-crypto-perf/Makefile +++ b/app/test-crypto-perf/Makefile @@ -44,7 +44,4 @@ SRCS-y += cperf_test_throughput.c SRCS-y += cperf_test_latency.c SRCS-y += cperf_test_vector_parsing.c -# this application needs libraries first -DEPDIRS-y += lib - include $(RTE_SDK)/mk/rte.app.mk diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index eec1ed0776..35ecee9f6c 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -81,9 +81,6 @@ endif CFLAGS_cmdline.o := -D_GNU_SOURCE -# this application needs libraries first -DEPDIRS-y += lib drivers - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/buildtools/depdirs-rule.sh b/buildtools/depdirs-rule.sh deleted file mode 100755 index 7aba088596..0000000000 --- a/buildtools/depdirs-rule.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - -# BSD LICENSE -# -# Copyright(c) 2010-2014 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# -# This (obscure) bash script finds the smallest different path between -# path1 and path2 given as command line argument. The given paths MUST -# be relative paths, the script is not designed to work with absolute -# paths. -# -# The script will then generate Makefile code that can be saved in a -# file and included in build system. -# -# For instance: -# depdirs-rule.sh a/b/c/d a/b/e/f -# Will print: -# FULL_DEPDIRS-a/b/c/d += a/b/e/f -# LOCAL_DEPDIRS-a/b/c += a/b/e -# -# The script returns 0 except if invalid arguments are given. -# - -if [ $# -ne 2 ]; then - echo "Bad arguments" - echo "Usage:" - echo " $0 path1 path2" - exit 1 -fi - -left1=${1%%/*} -right1=${1#*/} -prev_right1=$1 -prev_left1= - -left2=${2%%/*} -right2=${2#*/} -prev_right2=$2 -prev_left2= - -while [ "${right1}" != "" -a "${right2}" != "" ]; do - - if [ "$left1" != "$left2" ]; then - break - fi - - prev_left1=$left1 - left1=$left1/${right1%%/*} - prev_right1=$right1 - right1=${prev_right1#*/} - if [ "$right1" = "$prev_right1" ]; then - right1="" - fi - - prev_left2=$left2 - left2=$left2/${right2%%/*} - prev_right2=$right2 - right2=${prev_right2#*/} - if [ "$right2" = "$prev_right2" ]; then - right2="" - fi -done - -echo FULL_DEPDIRS-$1 += $2 -echo LOCAL_DEPDIRS-$left1 += $left2 - -exit 0 diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile index bd8f9005e6..bf07b6f2ed 100644 --- a/buildtools/pmdinfogen/Makefile +++ b/buildtools/pmdinfogen/Makefile @@ -44,6 +44,4 @@ SRCS-y += pmdinfogen.c HOST_CFLAGS += $(WERROR_FLAGS) -g HOST_CFLAGS += -I$(RTE_OUTPUT)/include -DEPDIRS-y += lib/librte_eal - include $(RTE_SDK)/mk/rte.hostapp.mk diff --git a/devtools/test-build.sh b/devtools/test-build.sh index 84d3165e26..5fed4c1b2e 100755 --- a/devtools/test-build.sh +++ b/devtools/test-build.sh @@ -146,7 +146,7 @@ config () # fi if [ ! -e $1/.config ] || $reconfig ; then echo "================== Configure $1" - make -j$J T=$2 O=$1 config + make T=$2 O=$1 config echo 'Customize configuration' # Built-in options (lowercase) diff --git a/doc/guides/prog_guide/dev_kit_build_system.rst b/doc/guides/prog_guide/dev_kit_build_system.rst index 19de156360..ad032c5f96 100644 --- a/doc/guides/prog_guide/dev_kit_build_system.rst +++ b/doc/guides/prog_guide/dev_kit_build_system.rst @@ -367,7 +367,7 @@ Variables that Can be Set/Overridden in a Makefile Only * POSTCLEAN: A list of actions to be taken after cleaning. The user should use += to append data in this variable. -* DEPDIR-y: Only used in the development kit framework to specify if the build of the current directory depends on build of another one. +* DEPDIRS-$(DIR): Only used in the development kit framework to specify if the build of the current directory depends on build of another one. This is needed to support parallel builds correctly. Variables that can be Set/Overridden by the User on the Command Line Only diff --git a/doc/guides/prog_guide/dev_kit_root_make_help.rst b/doc/guides/prog_guide/dev_kit_root_make_help.rst index fb3520e139..d7c4106412 100644 --- a/doc/guides/prog_guide/dev_kit_root_make_help.rst +++ b/doc/guides/prog_guide/dev_kit_root_make_help.rst @@ -152,34 +152,6 @@ Documentation Targets Generate the guides documentation in pdf. - -Deps Targets ------------- - -* depdirs - - This target is implicitly called by make config. - Typically, there is no need for a user to call it, - except if DEPDIRS-y variables have been updated in Makefiles. - It will generate the file $(RTE_OUTPUT)/.depdirs. - - Example: - - .. code-block:: console - - make depdirs O=mybuild - -* depgraph - - This command generates a dot graph of dependencies. - It can be displayed to debug circular dependency issues, or just to understand the dependencies. - - Example: - - .. code-block:: console - - make depgraph O=mybuild > /tmp/graph.dot && dotty /tmp/ graph.dot - Misc Targets ------------ diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile index a5a246b312..652c55471e 100644 --- a/drivers/crypto/Makefile +++ b/drivers/crypto/Makefile @@ -31,15 +31,27 @@ include $(RTE_SDK)/mk/rte.vars.mk +core-libs := librte_eal librte_mbuf librte_mempool librte_ring librte_cryptodev + DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm +DEPDIRS-aesni_gcm = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb +DEPDIRS-aesni_mb = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8 +DEPDIRS-armv8 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl +DEPDIRS-openssl = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += qat +DEPDIRS-qat = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler +DEPDIRS-scheduler = $(core-libs) librte_kvargs librte_reorder DIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += snow3g +DEPDIRS-snow3g = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi +DEPDIRS-kasumi = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc +DEPDIRS-zuc = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null +DEPDIRS-null = $(core-libs) include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile index fb17fbf6a9..59a7c6a97e 100644 --- a/drivers/crypto/aesni_gcm/Makefile +++ b/drivers/crypto/aesni_gcm/Makefile @@ -56,11 +56,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd_ops.c # export include files SYMLINK-y-include += -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/aesni_mb/Makefile b/drivers/crypto/aesni_mb/Makefile index d3994cc632..611d4123b9 100644 --- a/drivers/crypto/aesni_mb/Makefile +++ b/drivers/crypto/aesni_mb/Makefile @@ -58,11 +58,4 @@ LDLIBS += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd_ops.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/armv8/Makefile b/drivers/crypto/armv8/Makefile index 2003ec4edd..1474951c7e 100644 --- a/drivers/crypto/armv8/Makefile +++ b/drivers/crypto/armv8/Makefile @@ -62,11 +62,4 @@ LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd_ops.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/kasumi/Makefile b/drivers/crypto/kasumi/Makefile index 9fb0be8576..b47cda0c5a 100644 --- a/drivers/crypto/kasumi/Makefile +++ b/drivers/crypto/kasumi/Makefile @@ -59,11 +59,4 @@ LDLIBS += -L$(LIBSSO_KASUMI_PATH)/build -lsso_kasumi SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd_ops.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/null/Makefile b/drivers/crypto/null/Makefile index c143929fca..bc2724b39f 100644 --- a/drivers/crypto/null/Makefile +++ b/drivers/crypto/null/Makefile @@ -51,11 +51,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd_ops.c # export include files SYMLINK-y-include += -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/openssl/Makefile b/drivers/crypto/openssl/Makefile index 8c4250c8a7..e5fdfb59b5 100644 --- a/drivers/crypto/openssl/Makefile +++ b/drivers/crypto/openssl/Makefile @@ -50,11 +50,4 @@ LDLIBS += -lcrypto SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd_ops.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/qat/Makefile b/drivers/crypto/qat/Makefile index 20a70d4a5c..7322ffe4a8 100644 --- a/drivers/crypto/qat/Makefile +++ b/drivers/crypto/qat/Makefile @@ -56,11 +56,4 @@ SYMLINK-y-include += # versioning export map EXPORT_MAP := rte_pmd_qat_version.map -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += lib/librte_cryptodev - - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/scheduler/Makefile b/drivers/crypto/scheduler/Makefile index 0cce6f266d..187d3b624a 100644 --- a/drivers/crypto/scheduler/Makefile +++ b/drivers/crypto/scheduler/Makefile @@ -55,12 +55,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd_ops.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += rte_cryptodev_scheduler.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_roundrobin.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += lib/librte_cryptodev -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += lib/librte_kvargs -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += lib/librte_reorder - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/snow3g/Makefile b/drivers/crypto/snow3g/Makefile index bea6760b3b..ecee80dfb6 100644 --- a/drivers/crypto/snow3g/Makefile +++ b/drivers/crypto/snow3g/Makefile @@ -59,11 +59,4 @@ LDLIBS += -L$(LIBSSO_SNOW3G_PATH)/build -lsso_snow3g SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd_ops.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/crypto/zuc/Makefile b/drivers/crypto/zuc/Makefile index b15eb0f6fa..f543b4073e 100644 --- a/drivers/crypto/zuc/Makefile +++ b/drivers/crypto/zuc/Makefile @@ -59,11 +59,4 @@ LDLIBS += -L$(LIBSSO_ZUC_PATH)/build -lsso_zuc SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd_ops.c -# library dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += lib/librte_cryptodev - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/Makefile b/drivers/net/Makefile index a16f25e2ee..07d283b274 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -31,34 +31,63 @@ include $(RTE_SDK)/mk/rte.vars.mk +core-libs := librte_eal librte_mbuf librte_mempool librte_ring librte_ether +core-libs += librte_net librte_kvargs + DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet +DEPDIRS-af_packet = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x +DEPDIRS-bnx2x = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding +DEPDIRS-bonding = $(core-libs) librte_cmdline DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe +DEPDIRS-cxgbe = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000 +DEPDIRS-e1000 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena +DEPDIRS-ena = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic +DEPDIRS-enic = $(core-libs) librte_hash DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k +DEPDIRS-fm10k = $(core-libs) librte_hash DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e +DEPDIRS-i40e = $(core-libs) librte_hash DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe +DEPDIRS-ixgbe = $(core-libs) librte_hash DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4 +DEPDIRS-mlx4 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5 +DEPDIRS-mlx5 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp +DEPDIRS-nfp = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt +DEPDIRS-bnxt = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null +DEPDIRS-null = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap +DEPDIRS-pcap = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede +DEPDIRS-qede = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring +DEPDIRS-ring = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc +DEPDIRS-sfc = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += szedata2 +DEPDIRS-szedata2 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap +DEPDIRS-tap = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += thunderx +DEPDIRS-thunderx = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio +DEPDIRS-virtio = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3 +DEPDIRS-vmxnet3 = $(core-libs) DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += xenvirt +DEPDIRS-xenvirt = $(core-libs) ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y) DIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += vhost endif # $(CONFIG_RTE_LIBRTE_VHOST) +DEPDIRS-vhost = $(core-libs) librte_vhost include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/net/af_packet/Makefile b/drivers/net/af_packet/Makefile index e14d6d0c6d..70d517c16e 100644 --- a/drivers/net/af_packet/Makefile +++ b/drivers/net/af_packet/Makefile @@ -50,11 +50,4 @@ CFLAGS += $(WERROR_FLAGS) # SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += rte_eth_af_packet.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile index e971fb6678..e123106918 100644 --- a/drivers/net/bnx2x/Makefile +++ b/drivers/net/bnx2x/Makefile @@ -29,8 +29,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += ecore_sp.c SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += elink.c SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_vfpf.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += lib/librte_mempool lib/librte_mbuf - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile index 65aaa929ac..0fffe35611 100644 --- a/drivers/net/bnxt/Makefile +++ b/drivers/net/bnxt/Makefile @@ -66,10 +66,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_irq.c # SYMLINK-y-include += -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile index 504f2e8b58..910c932da9 100644 --- a/drivers/net/bonding/Makefile +++ b/drivers/net/bonding/Makefile @@ -58,13 +58,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_alb.c SYMLINK-y-include += rte_eth_bond.h SYMLINK-y-include += rte_eth_bond_8023ad.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_kvargs -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_cmdline -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_ring - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/cxgbe/Makefile b/drivers/net/cxgbe/Makefile index bfcc3159fd..7cef6279c4 100644 --- a/drivers/net/cxgbe/Makefile +++ b/drivers/net/cxgbe/Makefile @@ -81,9 +81,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_main.c SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += sge.c SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4_hw.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile index 57a60f0fcc..a32fabe5f6 100644 --- a/drivers/net/e1000/Makefile +++ b/drivers/net/e1000/Makefile @@ -96,9 +96,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_pf.c SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_ethdev.c SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_rxtx.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/ena/Makefile b/drivers/net/ena/Makefile index a0d3358d2f..bf1f5da07c 100644 --- a/drivers/net/ena/Makefile +++ b/drivers/net/ena/Makefile @@ -51,11 +51,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_ethdev.c SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_com.c SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_eth_com.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += lib/librte_net - CFLAGS += $(INCLUDES) include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/enic/Makefile b/drivers/net/enic/Makefile index 3926b795c4..2c7496dc52 100644 --- a/drivers/net/enic/Makefile +++ b/drivers/net/enic/Makefile @@ -63,10 +63,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_intr.c SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_rq.c SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_rss.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_net -DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_hash - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile index afcbd1d83c..71d836cbbc 100644 --- a/drivers/net/fm10k/Makefile +++ b/drivers/net/fm10k/Makefile @@ -96,10 +96,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_vf.c SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_api.c SRCS-$(CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR) += fm10k_rxtx_vec.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += lib/librte_net -DEPDIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile index 94482cf7c0..9237f8480d 100644 --- a/drivers/net/i40e/Makefile +++ b/drivers/net/i40e/Makefile @@ -115,11 +115,4 @@ endif # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_I40E_PMD)-include := rte_pmd_i40e.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_net -DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_kvargs -DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_hash - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile index 38b9fbdf55..f62f3d52c4 100644 --- a/drivers/net/ixgbe/Makefile +++ b/drivers/net/ixgbe/Makefile @@ -124,10 +124,4 @@ endif # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)-include := rte_pmd_ixgbe.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_net -DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_hash - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile index 68c5902314..d30553e063 100644 --- a/drivers/net/mlx4/Makefile +++ b/drivers/net/mlx4/Makefile @@ -37,12 +37,6 @@ LIB = librte_pmd_mlx4.a # Sources. SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4.c -# Dependencies. -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += lib/librte_mempool - # Basic CFLAGS. CFLAGS += -O3 CFLAGS += -std=gnu99 -Wall -Wextra diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile index 671089c3ff..d18de6b8ba 100644 --- a/drivers/net/mlx5/Makefile +++ b/drivers/net/mlx5/Makefile @@ -50,13 +50,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_fdir.c SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mr.c SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow.c -# Dependencies. -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += lib/librte_kvargs - # Basic CFLAGS. CFLAGS += -O3 CFLAGS += -std=gnu99 -Wall -Wextra diff --git a/drivers/net/nfp/Makefile b/drivers/net/nfp/Makefile index 4cadd131d7..4ee2c2dc2b 100644 --- a/drivers/net/nfp/Makefile +++ b/drivers/net/nfp/Makefile @@ -50,9 +50,4 @@ LIBABIVER := 1 # SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_net.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/null/Makefile b/drivers/net/null/Makefile index 0c909c6f45..40a839fc4b 100644 --- a/drivers/net/null/Makefile +++ b/drivers/net/null/Makefile @@ -53,11 +53,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += rte_eth_null.c # SYMLINK-y-include += rte_eth_null.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/pcap/Makefile b/drivers/net/pcap/Makefile index 89ac402494..7ebd0bef23 100644 --- a/drivers/net/pcap/Makefile +++ b/drivers/net/pcap/Makefile @@ -55,11 +55,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += rte_eth_pcap.c # SYMLINK-y-include += -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile index 29b443df0c..d989536f4c 100644 --- a/drivers/net/qede/Makefile +++ b/drivers/net/qede/Makefile @@ -100,9 +100,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_eth_if.c SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_main.c SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_rxtx.c -# dependent libs: -DEPDIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/ring/Makefile b/drivers/net/ring/Makefile index ae8350525a..b7e1a378a9 100644 --- a/drivers/net/ring/Makefile +++ b/drivers/net/ring/Makefile @@ -53,9 +53,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += rte_eth_ring.c # SYMLINK-y-include += rte_eth_ring.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += lib/librte_eal lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += lib/librte_mbuf lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile index 619a0edd13..f4d0b61a5d 100644 --- a/drivers/net/sfc/Makefile +++ b/drivers/net/sfc/Makefile @@ -133,12 +133,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_vpd.c SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += hunt_nic.c SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford_nic.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_kvargs -DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/szedata2/Makefile b/drivers/net/szedata2/Makefile index 4a7b14c9b6..836c3b2adb 100644 --- a/drivers/net/szedata2/Makefile +++ b/drivers/net/szedata2/Makefile @@ -54,11 +54,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += rte_eth_szedata2.c # SYMLINK-y-include += -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile index e18f30c56f..bedd1b738e 100644 --- a/drivers/net/tap/Makefile +++ b/drivers/net/tap/Makefile @@ -47,11 +47,4 @@ CFLAGS += $(WERROR_FLAGS) # SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += rte_eth_tap.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile index bcab5f9331..706250b8b1 100644 --- a/drivers/net/thunderx/Makefile +++ b/drivers/net/thunderx/Makefile @@ -65,8 +65,4 @@ CFLAGS_nicvf_rxtx.o += -fno-prefetch-loop-arrays endif CFLAGS_nicvf_rxtx.o += -Ofast -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += lib/librte_mempool lib/librte_mbuf - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/vhost/Makefile b/drivers/net/vhost/Makefile index 050c5aa52b..3ba8ad64f3 100644 --- a/drivers/net/vhost/Makefile +++ b/drivers/net/vhost/Makefile @@ -55,12 +55,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += rte_eth_vhost.c # SYMLINK-y-include += rte_eth_vhost.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += lib/librte_kvargs -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += lib/librte_vhost - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile index 8b5b5d6ab5..b21b878142 100644 --- a/drivers/net/virtio/Makefile +++ b/drivers/net/virtio/Makefile @@ -66,10 +66,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/virtio_user_dev.c SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user_ethdev.c endif -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/librte_net -DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile index 23ff1da290..84356ae221 100644 --- a/drivers/net/vmxnet3/Makefile +++ b/drivers/net/vmxnet3/Makefile @@ -76,9 +76,4 @@ LIBABIVER := 1 SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_rxtx.c SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_ethdev.c -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/net/xenvirt/Makefile b/drivers/net/xenvirt/Makefile index 1d05b71b44..8b4b8f037d 100644 --- a/drivers/net/xenvirt/Makefile +++ b/drivers/net/xenvirt/Makefile @@ -54,10 +54,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += rte_eth_xenvirt.c rte_mempool_gntalloc. # SYMLINK-y-include += rte_eth_xenvirt.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_eal lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_net -DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_cmdline - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/examples/ethtool/Makefile b/examples/ethtool/Makefile index 995cd25beb..30b42b70e9 100644 --- a/examples/ethtool/Makefile +++ b/examples/ethtool/Makefile @@ -46,4 +46,7 @@ else DIRS-y += lib ethtool-app endif +DEPDIRS-ethtool-app := lib +DEPDIRS-lib := librte_eal librte_ether + include $(RTE_SDK)/mk/rte.extsubdir.mk diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile index 46b1b3abf7..197c1d6f58 100644 --- a/examples/ethtool/lib/Makefile +++ b/examples/ethtool/lib/Makefile @@ -58,8 +58,4 @@ ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y) LDLIBS += -lrte_pmd_ixgbe endif -# internal dependencies -DEPDIRS-y += lib/librte_eal -DEPDIRS-y += lib/librte_ether - include $(RTE_SDK)/mk/rte.extlib.mk diff --git a/lib/Makefile b/lib/Makefile index 41783252b3..5ad3c7cc43 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -34,34 +34,68 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-y += librte_compat DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal DIRS-$(CONFIG_RTE_LIBRTE_RING) += librte_ring +DEPDIRS-librte_ring := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += librte_mempool +DEPDIRS-librte_mempool := librte_eal librte_ring DIRS-$(CONFIG_RTE_LIBRTE_MBUF) += librte_mbuf +DEPDIRS-librte_mbuf := librte_eal librte_mempool DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += librte_timer +DEPDIRS-librte_timer := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += librte_cfgfile +DEPDIRS-librte_cfgfile := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += librte_cmdline +DEPDIRS-librte_cmdline := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_ETHER) += librte_ether +DEPDIRS-librte_ether := librte_net librte_eal librte_mempool librte_ring +DEPDIRS-librte_ether += librte_mbuf DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += librte_cryptodev +DEPDIRS-librte_cryptodev := librte_eal librte_mempool librte_ring librte_mbuf +DEPDIRS-librte_cryptodev += librte_kvargs DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += librte_vhost +DEPDIRS-librte_vhost := librte_eal librte_mempool librte_mbuf librte_ether DIRS-$(CONFIG_RTE_LIBRTE_HASH) += librte_hash +DEPDIRS-librte_hash := librte_eal librte_ring DIRS-$(CONFIG_RTE_LIBRTE_EFD) += librte_efd +DEPDIRS-librte_efd := librte_eal librte_ring librte_hash DIRS-$(CONFIG_RTE_LIBRTE_LPM) += librte_lpm +DEPDIRS-librte_lpm := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_ACL) += librte_acl +DEPDIRS-librte_acl := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_NET) += librte_net +DEPDIRS-librte_net := librte_mbuf DIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += librte_ip_frag +DEPDIRS-librte_ip_frag := librte_eal librte_mempool librte_mbuf librte_ether +DEPDIRS-librte_ip_frag += librte_hash DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += librte_jobstats +DEPDIRS-librte_jobstats := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_POWER) += librte_power +DEPDIRS-librte_power := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_METER) += librte_meter +DEPDIRS-librte_meter := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += librte_sched +DEPDIRS-librte_sched := librte_eal librte_mempool librte_mbuf librte_net +DEPDIRS-librte_sched += librte_timer DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs +DEPDIRS-librte_kvargs := librte_eal DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += librte_distributor +DEPDIRS-librte_distributor := librte_eal librte_mbuf librte_ether DIRS-$(CONFIG_RTE_LIBRTE_PORT) += librte_port +DEPDIRS-librte_port := librte_eal librte_mempool librte_mbuf librte_ether +DEPDIRS-librte_port += librte_ip_frag librte_sched librte_kni DIRS-$(CONFIG_RTE_LIBRTE_TABLE) += librte_table +DEPDIRS-librte_table := librte_eal librte_mempool librte_mbuf +DEPDIRS-librte_table += librte_port librte_lpm librte_acl librte_hash DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += librte_pipeline +DEPDIRS-librte_pipeline := librte_eal librte_mempool librte_mbuf +DEPDIRS-librte_pipeline += librte_table librte_port DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += librte_reorder +DEPDIRS-librte_reorder := librte_eal librte_mempool librte_mbuf DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += librte_pdump +DEPDIRS-librte_pdump := librte_eal librte_mempool librte_mbuf librte_ether ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y) DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni endif +DEPDIRS-librte_kni:= librte_eal librte_mempool librte_mbuf librte_ether include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile index d05be665a6..e2dacd606e 100644 --- a/lib/librte_acl/Makefile +++ b/lib/librte_acl/Makefile @@ -92,7 +92,4 @@ endif SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include := rte_acl_osdep.h SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include += rte_acl.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_ACL) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile index 616aef0927..755ef11f69 100644 --- a/lib/librte_cfgfile/Makefile +++ b/lib/librte_cfgfile/Makefile @@ -51,7 +51,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_CFGFILE) += rte_cfgfile.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_CFGFILE)-include += rte_cfgfile.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile index 7d2d148c7d..644f68e47e 100644 --- a/lib/librte_cmdline/Makefile +++ b/lib/librte_cmdline/Makefile @@ -61,7 +61,4 @@ INCS += cmdline_parse_etheraddr.h cmdline_parse_string.h cmdline_rdline.h INCS += cmdline_vt100.h cmdline_socket.h cmdline_cirbuf.h cmdline_parse_portlist.h SYMLINK-$(CONFIG_RTE_LIBRTE_CMDLINE)-include := $(INCS) -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile index aebf5d9fa4..18f5e8c536 100644 --- a/lib/librte_cryptodev/Makefile +++ b/lib/librte_cryptodev/Makefile @@ -52,11 +52,4 @@ SYMLINK-y-include += rte_cryptodev_pmd.h # versioning export map EXPORT_MAP := rte_cryptodev_version.map -# library dependencies -DEPDIRS-y += lib/librte_eal -DEPDIRS-y += lib/librte_mempool -DEPDIRS-y += lib/librte_ring -DEPDIRS-y += lib/librte_mbuf -DEPDIRS-y += lib/librte_kvargs - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile index 4c9af172a0..e3a3a79ef3 100644 --- a/lib/librte_distributor/Makefile +++ b/lib/librte_distributor/Makefile @@ -47,8 +47,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += lib/librte_mbuf - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile index cf11a0998c..5690bb49dd 100644 --- a/lib/librte_eal/Makefile +++ b/lib/librte_eal/Makefile @@ -33,6 +33,8 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-y += common DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linuxapp +DEPDIRS-linuxapp := common DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += bsdapp +DEPDIRS-bsdapp := common include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile index cce99f79a4..16791df5a6 100644 --- a/lib/librte_eal/bsdapp/eal/Makefile +++ b/lib/librte_eal/bsdapp/eal/Makefile @@ -111,7 +111,4 @@ INC := rte_interrupts.h SYMLINK-$(CONFIG_RTE_EXEC_ENV_BSDAPP)-include/exec-env := \ $(addprefix include/exec-env/,$(INC)) -DEPDIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += lib/librte_eal/common -DEPDIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += lib/librte_eal/common/arch/$(ARCH_DIR) - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_eal/linuxapp/Makefile b/lib/librte_eal/linuxapp/Makefile index 20d2a91690..4794696b68 100644 --- a/lib/librte_eal/linuxapp/Makefile +++ b/lib/librte_eal/linuxapp/Makefile @@ -34,6 +34,8 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio DIRS-$(CONFIG_RTE_KNI_KMOD) += kni +DEPDIRS-kni := eal DIRS-$(CONFIG_RTE_LIBRTE_XEN_DOM0) += xen_dom0 +DEPDIRS-xen_dom0 := eal include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index aa874a5a45..8624ad26fe 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -131,7 +131,4 @@ INC := rte_interrupts.h rte_kni_common.h rte_dom0_common.h SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUXAPP)-include/exec-env := \ $(addprefix include/exec-env/,$(INC)) -DEPDIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += lib/librte_eal/common -DEPDIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += lib/librte_eal/common/arch/$(ARCH_DIR) - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_eal/linuxapp/kni/Makefile b/lib/librte_eal/linuxapp/kni/Makefile index 7864a2af7f..154c528dbd 100644 --- a/lib/librte_eal/linuxapp/kni/Makefile +++ b/lib/librte_eal/linuxapp/kni/Makefile @@ -53,9 +53,6 @@ UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/ge MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))" endif -# this lib needs main eal -DEPDIRS-y += lib/librte_eal/linuxapp/eal - # # all source are stored in SRCS-y # diff --git a/lib/librte_eal/linuxapp/xen_dom0/Makefile b/lib/librte_eal/linuxapp/xen_dom0/Makefile index 9d22fb97d5..be51a82aa5 100644 --- a/lib/librte_eal/linuxapp/xen_dom0/Makefile +++ b/lib/librte_eal/linuxapp/xen_dom0/Makefile @@ -44,9 +44,6 @@ MODULE_CFLAGS += -I$(RTE_OUTPUT)/include MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h MODULE_CFLAGS += -Wall -Werror -# this lib needs main eal -DEPDIRS-y += lib/librte_eal/linuxapp/eal - # # all source are stored in SRCS-y # diff --git a/lib/librte_efd/Makefile b/lib/librte_efd/Makefile index a442c6260c..b9277bc5d7 100644 --- a/lib/librte_efd/Makefile +++ b/lib/librte_efd/Makefile @@ -47,9 +47,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_EFD) := rte_efd.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_EFD)-include := rte_efd.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_EFD) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_EFD) += lib/librte_ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_EFD) += lib/librte_hash - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile index 1d095a93c4..066114b1d0 100644 --- a/lib/librte_ether/Makefile +++ b/lib/librte_ether/Makefile @@ -55,7 +55,4 @@ SYMLINK-y-include += rte_dev_info.h SYMLINK-y-include += rte_flow.h SYMLINK-y-include += rte_flow_driver.h -# this lib depends upon: -DEPDIRS-y += lib/librte_net lib/librte_eal lib/librte_mempool lib/librte_ring lib/librte_mbuf - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile index bb1ea9905b..d856aa26d7 100644 --- a/lib/librte_hash/Makefile +++ b/lib/librte_hash/Makefile @@ -55,7 +55,4 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_jhash.h SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_thash.h SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_fbk_hash.h -# this lib needs eal and ring -DEPDIRS-$(CONFIG_RTE_LIBRTE_HASH) += lib/librte_eal lib/librte_ring - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile index 43f8b1e38b..4e693bf8f0 100644 --- a/lib/librte_ip_frag/Makefile +++ b/lib/librte_ip_frag/Makefile @@ -52,10 +52,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += ip_frag_internal.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_IP_FRAG)-include += rte_ip_frag.h -DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/librte_hash -DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/librte_mempool - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_jobstats/Makefile b/lib/librte_jobstats/Makefile index 136a448ea8..561a0678ca 100644 --- a/lib/librte_jobstats/Makefile +++ b/lib/librte_jobstats/Makefile @@ -47,7 +47,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_JOBSTATS) := rte_jobstats.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_JOBSTATS)-include := rte_jobstats.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile index 0947446138..70f1ca8f6e 100644 --- a/lib/librte_kni/Makefile +++ b/lib/librte_kni/Makefile @@ -46,9 +46,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_KNI)-include := rte_kni.h -DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_ether - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile index 87b09f2048..564dd31022 100644 --- a/lib/librte_kvargs/Makefile +++ b/lib/librte_kvargs/Makefile @@ -49,7 +49,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) := rte_kvargs.c INCS := rte_kvargs.h SYMLINK-$(CONFIG_RTE_LIBRTE_KVARGS)-include := $(INCS) -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile index 3dc549dcf2..32be46b3bf 100644 --- a/lib/librte_lpm/Makefile +++ b/lib/librte_lpm/Makefile @@ -55,7 +55,4 @@ else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y) SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_altivec.h endif -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_LPM) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile index 4ae2e8c8f4..956902ab47 100644 --- a/lib/librte_mbuf/Makefile +++ b/lib/librte_mbuf/Makefile @@ -46,7 +46,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c rte_mbuf_ptype.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include := rte_mbuf.h rte_mbuf_ptype.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_MBUF) += lib/librte_eal lib/librte_mempool - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile index 057a6ab40f..96b6ca2c9b 100644 --- a/lib/librte_mempool/Makefile +++ b/lib/librte_mempool/Makefile @@ -48,6 +48,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += rte_mempool_stack.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include := rte_mempool.h -DEPDIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += lib/librte_eal lib/librte_ring - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile index f07fced71b..539bfddd83 100644 --- a/lib/librte_meter/Makefile +++ b/lib/librte_meter/Makefile @@ -53,7 +53,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_METER) := rte_meter.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_METER)-include := rte_meter.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_METER) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_net/Makefile b/lib/librte_net/Makefile index 20cf6644a5..abd5c46a45 100644 --- a/lib/librte_net/Makefile +++ b/lib/librte_net/Makefile @@ -45,6 +45,4 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include := rte_ip.h rte_tcp.h rte_udp.h SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_sctp.h rte_icmp.h rte_arp.h SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ether.h rte_gre.h rte_net.h -DEPDIRS-$(CONFIG_RTE_LIBRTE_NET) += lib/librte_eal lib/librte_mbuf - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile index 166441a20f..1c03bcbb7c 100644 --- a/lib/librte_pdump/Makefile +++ b/lib/librte_pdump/Makefile @@ -48,10 +48,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) := rte_pdump.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_PDUMP)-include := rte_pdump.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += lib/librte_ether - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile index 05d64ff848..7a835fd55a 100644 --- a/lib/librte_pipeline/Makefile +++ b/lib/librte_pipeline/Makefile @@ -51,11 +51,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := rte_pipeline.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-include += rte_pipeline.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_table -DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_port - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile index 44fa735208..76629a13a3 100644 --- a/lib/librte_port/Makefile +++ b/lib/librte_port/Makefile @@ -77,15 +77,4 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_kni.h endif SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) := lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ip_frag -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_sched -ifeq ($(CONFIG_RTE_LIBRTE_KNI),y) -DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_kni -endif - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile index cee95cd841..06cd10e866 100644 --- a/lib/librte_power/Makefile +++ b/lib/librte_power/Makefile @@ -47,7 +47,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_POWER) += rte_power_kvm_vm.c guest_channel.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_POWER)-include := rte_power.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_POWER) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile index 0d111aad8f..4e44e72f03 100644 --- a/lib/librte_reorder/Makefile +++ b/lib/librte_reorder/Makefile @@ -47,9 +47,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_REORDER) := rte_reorder.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_REORDER)-include := rte_reorder.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_REORDER) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_REORDER) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_REORDER) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile index 4b1112e417..3e2f4b873d 100644 --- a/lib/librte_ring/Makefile +++ b/lib/librte_ring/Makefile @@ -46,6 +46,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_RING)-include := rte_ring.h -DEPDIRS-$(CONFIG_RTE_LIBRTE_RING) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile index 44cb780f7c..18274e73c8 100644 --- a/lib/librte_sched/Makefile +++ b/lib/librte_sched/Makefile @@ -58,9 +58,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_SCHED) += rte_reciprocal.c SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include := rte_sched.h rte_bitmap.h rte_sched_common.h rte_red.h rte_approx.h SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include += rte_reciprocal.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_mempool lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_net lib/librte_timer - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile index c82c769616..0d06d36a2d 100644 --- a/lib/librte_table/Makefile +++ b/lib/librte_table/Makefile @@ -72,15 +72,4 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru.h SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_array.h SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h -# this lib depends upon: -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) := lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_port -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_lpm -ifeq ($(CONFIG_RTE_LIBRTE_ACL),y) -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_acl -endif -DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_hash - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile index 2aabef852f..03a15390e6 100644 --- a/lib/librte_timer/Makefile +++ b/lib/librte_timer/Makefile @@ -46,7 +46,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c # install this header file SYMLINK-$(CONFIG_RTE_LIBRTE_TIMER)-include := rte_timer.h -# this lib needs eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_TIMER) += lib/librte_eal - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile index 415ffc6e34..1b224b3e3d 100644 --- a/lib/librte_vhost/Makefile +++ b/lib/librte_vhost/Makefile @@ -53,11 +53,4 @@ SRCS-$(CONFIG_RTE_LIBRTE_VHOST) := fd_man.c socket.c vhost.c vhost_user.c \ # install includes SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_virtio_net.h -# dependencies -DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_eal -DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_ether -DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_mbuf -DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_mempool -DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_net - include $(RTE_SDK)/mk/rte.lib.mk diff --git a/mk/internal/rte.depdirs-post.mk b/mk/internal/rte.depdirs-post.mk deleted file mode 100644 index eb73ad3362..0000000000 --- a/mk/internal/rte.depdirs-post.mk +++ /dev/null @@ -1,43 +0,0 @@ -# BSD LICENSE -# -# Copyright(c) 2010-2014 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -.PHONY: depdirs $(DEPDIRS-y) -depdirs: $(DEPDIRS-y) - @echo "" - -$(DEPDIRS-y): - @$(RTE_SDK)/buildtools/depdirs-rule.sh $(S) $@ - -.PHONY: depgraph -depgraph: - @for d in $(DEPDIRS-y); do \ - echo " \"$(S)\" -> \"$$d\"" ; \ - done diff --git a/mk/internal/rte.depdirs-pre.mk b/mk/internal/rte.depdirs-pre.mk deleted file mode 100644 index 8825db03b2..0000000000 --- a/mk/internal/rte.depdirs-pre.mk +++ /dev/null @@ -1,32 +0,0 @@ -# BSD LICENSE -# -# Copyright(c) 2010-2014 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# nothing diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 0e0b6002dd..62a2a1a0b0 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -34,7 +34,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -278,7 +277,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk),) include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk diff --git a/mk/rte.bsdmodule.mk b/mk/rte.bsdmodule.mk index 86b92ff5d3..6fc137ad2f 100644 --- a/mk/rte.bsdmodule.mk +++ b/mk/rte.bsdmodule.mk @@ -43,7 +43,6 @@ else include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # DPDK uses a more up-to-date gcc, so clear the override here. unexport CC @@ -111,7 +110,6 @@ doclean: include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.extsubdir.mk b/mk/rte.extsubdir.mk index f50f0062bb..3e733d826a 100644 --- a/mk/rte.extsubdir.mk +++ b/mk/rte.extsubdir.mk @@ -30,6 +30,8 @@ MAKEFLAGS += --no-print-directory +ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES))) + # output directory O ?= . BASE_OUTPUT ?= $(O) @@ -50,4 +52,16 @@ $(DIRS-y): BASE_OUTPUT=$(BASE_OUTPUT) \ CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \ S=$(CURDIR)/$(@) \ + DEPDIRS="$(DEPDIRS-$@)" \ $(filter-out $(DIRS-y),$(MAKECMDGOALS)) + +define depdirs_rule +$(DEPDIRS-$(1)): + +$(1): | $(DEPDIRS-$(1)) + +$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1)))) +endef + +$(foreach dir,$(ALL_DEPDIRS),\ + $(eval $(call depdirs_rule,$(dir)))) diff --git a/mk/rte.gnuconfigure.mk b/mk/rte.gnuconfigure.mk index 65b658c13a..b5c8df0f45 100644 --- a/mk/rte.gnuconfigure.mk +++ b/mk/rte.gnuconfigure.mk @@ -32,7 +32,6 @@ include $(RTE_SDK)/mk/internal/rte.build-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -68,7 +67,6 @@ doclean: include $(RTE_SDK)/mk/internal/rte.build-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.hostapp.mk b/mk/rte.hostapp.mk index 07b391c2be..5cb4909cb6 100644 --- a/mk/rte.hostapp.mk +++ b/mk/rte.hostapp.mk @@ -35,7 +35,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -117,7 +116,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.hostlib.mk b/mk/rte.hostlib.mk index fe24049f60..7709cff7d0 100644 --- a/mk/rte.hostlib.mk +++ b/mk/rte.hostlib.mk @@ -35,7 +35,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -110,7 +109,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.install.mk b/mk/rte.install.mk index e7ac4d5be5..96144fbbb4 100644 --- a/mk/rte.install.mk +++ b/mk/rte.install.mk @@ -33,7 +33,6 @@ include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -55,4 +54,3 @@ doclean: include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index 5b72475d23..bc2f2fbeb0 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -33,7 +33,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk EXTLIB_BUILD ?= n @@ -85,12 +84,12 @@ else _CPU_LDFLAGS := $(CPU_LDFLAGS) endif -# Translate DEPDIRS-y into LDLIBS +# Translate DEPDIRS into LDLIBS # Ignore (sub)directory dependencies which do not provide an actual library -_IGNORE_DIRS = lib/librte_eal/% lib/librte_compat -_DEPDIRS = $(filter-out $(_IGNORE_DIRS),$(DEPDIRS-y)) +_IGNORE_DIRS = librte_eal/% librte_compat +_DEPDIRS = $(filter-out $(_IGNORE_DIRS),$(DEPDIRS)) _LDDIRS = $(subst librte_ether,librte_ethdev,$(_DEPDIRS)) -LDLIBS += $(subst lib/lib,-l,$(_LDDIRS)) +LDLIBS += $(subst lib,-l,$(_LDDIRS)) O_TO_A = $(AR) crDs $(LIB) $(OBJS-y) O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight @@ -183,7 +182,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.module.mk b/mk/rte.module.mk index 53ed4fe98e..3dd9ac7865 100644 --- a/mk/rte.module.mk +++ b/mk/rte.module.mk @@ -43,7 +43,6 @@ else include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -108,7 +107,6 @@ doclean: include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.obj.mk b/mk/rte.obj.mk index 5982227d35..9336d5f82d 100644 --- a/mk/rte.obj.mk +++ b/mk/rte.obj.mk @@ -33,7 +33,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -106,7 +105,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk index 02ff35b029..0bf909e9eb 100644 --- a/mk/rte.sdkbuild.mk +++ b/mk/rte.sdkbuild.mk @@ -38,18 +38,10 @@ else include $(RTE_SDK)/mk/rte.vars.mk endif -# -# include .depdirs and define rules to order priorities between build -# of directories. -# --include $(RTE_OUTPUT)/.depdirs - -define depdirs_rule -$(1): $(sort $(LOCAL_DEPDIRS-$(1))) -endef - -$(foreach d,$(ROOTDIRS-y) $(ROOTDIRS-),$(eval $(call depdirs_rule,$(d)))) -drivers: | buildtools +buildtools: | lib +drivers: | lib buildtools +app: | lib buildtools drivers +test: | lib buildtools drivers # # build and clean targets @@ -93,8 +85,8 @@ $(ROOTDIRS-y) $(ROOTDIRS-): RTE_MAKE_SUBTARGET ?= all -%_sub: $(addsuffix _sub,$(FULL_DEPDIRS-$(*))) - @echo $(addsuffix _sub,$(FULL_DEPDIRS-$(*))) +%_sub: $(addsuffix _sub,$(*)) + @echo $(addsuffix _sub,$(*)) @[ -d $(BUILDDIR)/$* ] || mkdir -p $(BUILDDIR)/$* @echo "== Build $*" $(Q)$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* \ diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk index 97581c9076..1f2d6bdfa0 100644 --- a/mk/rte.sdkconfig.mk +++ b/mk/rte.sdkconfig.mk @@ -69,7 +69,6 @@ ifeq ($(RTE_CONFIG_TEMPLATE),) config: notemplate else config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile - $(Q)$(MAKE) depdirs @echo "Configuration done" endif @@ -140,7 +139,6 @@ checkconfig: fi $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk \ headerconfig NODOTCONF=1 - $(Q)$(MAKE) -s depdirs .PHONY: FORCE FORCE: diff --git a/mk/rte.sdkdepdirs.mk b/mk/rte.sdkdepdirs.mk index 1d4b12f27f..1f27697b22 100644 --- a/mk/rte.sdkdepdirs.mk +++ b/mk/rte.sdkdepdirs.mk @@ -35,29 +35,3 @@ endif ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile)) $(error "need a make config first") endif - -DEPDIR_FILES = $(addsuffix /.depdirs, $(addprefix $(BUILDDIR)/,$(ROOTDIRS-y) $(ROOTDIRS-))) - -.PHONY: depdirs -depdirs: $(RTE_OUTPUT)/.depdirs -$(RTE_OUTPUT)/.depdirs: $(DEPDIR_FILES) - @rm -f $@ - @sort -u -o $@ $(DEPDIR_FILES) - -$(DEPDIR_FILES): $(RTE_OUTPUT)/.config - @dir=$(notdir $(@D)); \ - [ -d $(BUILDDIR)/$$dir ] || mkdir -p $(BUILDDIR)/$$dir; \ - $(MAKE) S=$$dir -f $(RTE_SRCDIR)/$$dir/Makefile depdirs > $@ - -.PHONY: depgraph -depgraph: - @echo "digraph unix {" ; \ - echo " size=\"6,6\";" ; \ - echo " node [color=lightblue2, style=filled];" ; \ - for d in $(ROOTDIRS-y); do \ - echo " \"root\" -> \"$$d\"" ; \ - if [ -f $(RTE_SRCDIR)/$$d/Makefile ]; then \ - $(MAKE) S=$$d -f $(RTE_SRCDIR)/$$d/Makefile depgraph ; \ - fi ; \ - done ; \ - echo "}" diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index f20563e9a4..685d2f55b9 100644 --- a/mk/rte.sdkroot.mk +++ b/mk/rte.sdkroot.mk @@ -111,10 +111,6 @@ help: doc-help doc-%: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk $* -.PHONY: depdirs depgraph -depdirs depgraph: - $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdepdirs.mk $@ - .PHONY: gcov gcovclean gcov gcovclean: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk $@ diff --git a/mk/rte.shared.mk b/mk/rte.shared.mk index fc6b0b4461..87ccf0ba4a 100644 --- a/mk/rte.shared.mk +++ b/mk/rte.shared.mk @@ -32,7 +32,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-pre.mk include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-pre.mk # VPATH contains at least SRCDIR VPATH += $(SRCDIR) @@ -131,7 +130,6 @@ include $(RTE_SDK)/mk/internal/rte.compile-post.mk include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk include $(RTE_SDK)/mk/internal/rte.build-post.mk -include $(RTE_SDK)/mk/internal/rte.depdirs-post.mk .PHONY: FORCE FORCE: diff --git a/mk/rte.subdir.mk b/mk/rte.subdir.mk index 5341f1feb8..92f5de4c89 100644 --- a/mk/rte.subdir.mk +++ b/mk/rte.subdir.mk @@ -37,6 +37,8 @@ include $(RTE_SDK)/mk/internal/rte.install-pre.mk include $(RTE_SDK)/mk/internal/rte.clean-pre.mk include $(RTE_SDK)/mk/internal/rte.build-pre.mk +ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES))) + CLEANDIRS = $(addsuffix _clean,$(DIRS-y) $(DIRS-n) $(DIRS-)) VPATH += $(SRCDIR) @@ -60,7 +62,8 @@ build: _postbuild $(DIRS-y): @[ -d $(CURDIR)/$@ ] || mkdir -p $(CURDIR)/$@ @echo "== Build $S/$@" - @$(MAKE) S=$S/$@ -f $(SRCDIR)/$@/Makefile -C $(CURDIR)/$@ all + @$(MAKE) S=$S/$@ -f $(SRCDIR)/$@/Makefile -C $(CURDIR)/$@ \ + DEPDIRS="$(DEPDIRS-$@)" all .PHONY: clean clean: _postclean @@ -72,34 +75,16 @@ clean: _postclean fi @rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) -# -# include .depdirs and define rules to order priorities between build -# of directories. -# --include $(RTE_OUTPUT)/.depdirs - define depdirs_rule -$(1): $(sort $(patsubst $(S)/%,%,$(LOCAL_DEPDIRS-$(S)/$(1)))) -endef - -$(foreach d,$(DIRS-y),$(eval $(call depdirs_rule,$(d)))) +$(DEPDIRS-$(1)): -DEPDIRS = $(wildcard $(addprefix $(S)/,$(DIRS-y))) +$(1): | $(DEPDIRS-$(1)) -.PHONY: depdirs $(DEPDIRS) -depdirs: $(DEPDIRS) - -$(DEPDIRS): - @$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile depdirs +$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1)))) +endef -.PHONY: depgraph -depgraph: - @for d in $(DIRS-y); do \ - echo " \"$(S)\" -> \"$(S)/$$d\"" ; \ - if [ -f $(SRCDIR)/$$d/Makefile ]; then \ - $(MAKE) S=$S/$$d -f $(SRCDIR)/$$d/Makefile depgraph ; \ - fi ; \ - done +$(foreach dir,$(ALL_DEPDIRS),\ + $(eval $(call depdirs_rule,$(dir)))) include $(RTE_SDK)/mk/internal/rte.install-post.mk include $(RTE_SDK)/mk/internal/rte.clean-post.mk diff --git a/test/cmdline_test/Makefile b/test/cmdline_test/Makefile index c6169f56dd..e9eafd2de6 100644 --- a/test/cmdline_test/Makefile +++ b/test/cmdline_test/Makefile @@ -47,9 +47,6 @@ SRCS-y += commands.c CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -# this application needs libraries first -DEPDIRS-y += lib drivers - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/test/test-acl/Makefile b/test/test-acl/Makefile index 43dfdcbd51..29de80a3dd 100644 --- a/test/test-acl/Makefile +++ b/test/test-acl/Makefile @@ -40,9 +40,6 @@ CFLAGS += $(WERROR_FLAGS) # all source are stored in SRCS-y SRCS-y := main.c -# this application needs libraries first -DEPDIRS-y += lib - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/test/test-pipeline/Makefile b/test/test-pipeline/Makefile index 4bab6dc6c4..520a319f39 100644 --- a/test/test-pipeline/Makefile +++ b/test/test-pipeline/Makefile @@ -56,9 +56,6 @@ SRCS-y += pipeline_lpm_ipv6.c # include ACL lib if available SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c -# this application needs libraries first -DEPDIRS-y += lib drivers - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/test/test/Makefile b/test/test/Makefile index 1a5e03dc68..79f0c61792 100644 --- a/test/test/Makefile +++ b/test/test/Makefile @@ -214,9 +214,6 @@ CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments endif endif -# this application needs libraries first -DEPDIRS-y += lib drivers - # Link against shared libraries when needed ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y) ifneq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)