DPDK patches and discussions
 help / color / mirror / Atom feed
From: Keith Wiles <keith.wiles@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH] lib/Makefile: cleanup file to be readable
Date: Thu,  9 Aug 2018 09:46:29 -0500	[thread overview]
Message-ID: <20180809144629.35749-1-keith.wiles@intel.com> (raw)

The Makefile was getting large and adding new libraries was becoming
difficult to determine the location to place the information.
The list of dirs and dependencies were split up and sorted to help
find and place new libraries.

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 lib/Makefile | 215 ++++++++++++++++++++++++++-------------------------
 1 file changed, 111 insertions(+), 104 deletions(-)

diff --git a/lib/Makefile b/lib/Makefile
index afa604e20..3ae94391b 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,115 +1,122 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
+# Copyright(c) 2010-2018 Intel Corporation
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+# The top level dependency is needed to built everything else make sure
+# understand that dependency if you change it.
 DIRS-y += librte_compat
-DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs
-DEPDIRS-librte_kvargs := librte_compat
-DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal
-DEPDIRS-librte_eal := librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_PCI) += librte_pci
-DEPDIRS-librte_pci := 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
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += librte_cmdline
-DEPDIRS-librte_cmdline := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_ETHER) += librte_ethdev
-DEPDIRS-librte_ethdev := librte_net librte_eal librte_mempool librte_ring
-DEPDIRS-librte_ethdev += librte_mbuf
-DEPDIRS-librte_ethdev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += librte_bbdev
-DEPDIRS-librte_bbdev := librte_eal librte_mempool 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_SECURITY) += librte_security
-DEPDIRS-librte_security := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_security += librte_ethdev
-DEPDIRS-librte_security += librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += librte_compressdev
-DEPDIRS-librte_compressdev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_compressdev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += librte_eventdev
-DEPDIRS-librte_eventdev := librte_eal librte_ring librte_ethdev librte_hash \
-                           librte_mempool librte_timer librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += librte_rawdev
-DEPDIRS-librte_rawdev := librte_eal librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += librte_vhost
-DEPDIRS-librte_vhost := librte_eal librte_mempool librte_mbuf librte_ethdev \
-			librte_net
-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_MEMBER) += librte_member
-DEPDIRS-librte_member := librte_eal librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_NET) += librte_net
-DEPDIRS-librte_net := librte_mbuf librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += librte_ip_frag
-DEPDIRS-librte_ip_frag := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_ip_frag += librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_GRO) += librte_gro
-DEPDIRS-librte_gro := librte_eal librte_mbuf librte_ethdev librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += librte_jobstats
-DEPDIRS-librte_jobstats := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_METRICS) += librte_metrics
-DEPDIRS-librte_metrics := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_BITRATE) += librte_bitratestats
-DEPDIRS-librte_bitratestats := librte_eal librte_metrics librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += librte_latencystats
-DEPDIRS-librte_latencystats := librte_eal librte_metrics librte_ethdev librte_mbuf
-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_FLOW_CLASSIFY) += librte_flow_classify
-DEPDIRS-librte_flow_classify :=  librte_net librte_table librte_acl
-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_DISTRIBUTOR) += librte_distributor
-DEPDIRS-librte_distributor := librte_eal librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_PORT) += librte_port
-DEPDIRS-librte_port := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_port += librte_ip_frag librte_sched
+
+################################################################
+# Set of directories which are built first, not sorted
+DIRS-$(CONFIG_RTE_LIBRTE_KVARGS)	+= librte_kvargs
+DIRS-$(CONFIG_RTE_LIBRTE_EAL)		+= librte_eal
+DIRS-$(CONFIG_RTE_LIBRTE_PCI)		+= librte_pci
+DIRS-$(CONFIG_RTE_LIBRTE_RING)		+= librte_ring
+
+_eal					:= librte_eal
+
+# Set of dependences for the first set of directories
+# The current order is {pci,ring} --> eal --> kvargs --> compat with compat
+# being the top dependency with these being built first. The rest depend on
+# the top level directories in some way or another.
+# List is in dependency order not sorted
+DEPDIRS-librte_kvargs			:= librte_compat
+DEPDIRS-librte_eal			:= librte_kvargs
+DEPDIRS-librte_pci			:= $(_eal)
+DEPDIRS-librte_ring			:= $(_eal)
+
+################################################################
+# Second set of dirs depending on top level, please keep sorted
+DIRS-$(CONFIG_RTE_LIBRTE_ACL)		+= librte_acl
+DIRS-$(CONFIG_RTE_LIBRTE_BBDEV)		+= librte_bbdev
+DIRS-$(CONFIG_RTE_LIBRTE_BITRATE)	+= librte_bitratestats
+DIRS-$(CONFIG_RTE_LIBRTE_BPF)		+= librte_bpf
+DIRS-$(CONFIG_RTE_LIBRTE_CFGFILE)	+= librte_cfgfile
+DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE)	+= librte_cmdline
+DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV)	+= librte_compressdev
+DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV)	+= librte_cryptodev
+DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)	+= librte_distributor
+DIRS-$(CONFIG_RTE_LIBRTE_EFD)		+= librte_efd
+DIRS-$(CONFIG_RTE_LIBRTE_ETHER)		+= librte_ethdev
+DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV)	+= librte_eventdev
+DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)	+= librte_flow_classify
+DIRS-$(CONFIG_RTE_LIBRTE_GRO)		+= librte_gro
+DIRS-$(CONFIG_RTE_LIBRTE_GSO)		+= librte_gso
+DIRS-$(CONFIG_RTE_LIBRTE_HASH)		+= librte_hash
+DIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG)	+= librte_ip_frag
+DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS)	+= librte_jobstats
+ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y)
+DIRS-$(CONFIG_RTE_LIBRTE_KNI)		+= librte_kni
+endif
+DIRS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)	+= librte_latencystats
+DIRS-$(CONFIG_RTE_LIBRTE_LPM)		+= librte_lpm
+DIRS-$(CONFIG_RTE_LIBRTE_MBUF)		+= librte_mbuf
+DIRS-$(CONFIG_RTE_LIBRTE_MEMBER)	+= librte_member
+DIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL)	+= librte_mempool
+DIRS-$(CONFIG_RTE_LIBRTE_METER)		+= librte_meter
+DIRS-$(CONFIG_RTE_LIBRTE_METRICS)	+= librte_metrics
+DIRS-$(CONFIG_RTE_LIBRTE_NET)		+= librte_net
+DIRS-$(CONFIG_RTE_LIBRTE_PDUMP)		+= librte_pdump
+DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE)	+= librte_pipeline
+DIRS-$(CONFIG_RTE_LIBRTE_PORT)		+= librte_port
+DIRS-$(CONFIG_RTE_LIBRTE_POWER)		+= librte_power
+DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV)	+= librte_rawdev
+DIRS-$(CONFIG_RTE_LIBRTE_REORDER)	+= librte_reorder
+DIRS-$(CONFIG_RTE_LIBRTE_SCHED)		+= librte_sched
+DIRS-$(CONFIG_RTE_LIBRTE_SECURITY)	+= librte_security
+DIRS-$(CONFIG_RTE_LIBRTE_TABLE)		+= librte_table
+DIRS-$(CONFIG_RTE_LIBRTE_TIMER)		+= librte_timer
+DIRS-$(CONFIG_RTE_LIBRTE_VHOST)		+= librte_vhost
+
+# The most common set of dependency libraries as a shorthand
+_mem					:= $(_eal) librte_mempool
+_emm					:= $(_mem) librte_mbuf
+
+# Secondary set of dependences, please keep sorted
+DEPDIRS-librte_acl			:= $(_eal)
+DEPDIRS-librte_bbdev			:= $(_emm)
+DEPDIRS-librte_bitratestats		:= $(_eal) librte_metrics librte_ethdev
+DEPDIRS-librte_bpf			:= $(_emm) librte_ethdev
+DEPDIRS-librte_cmdline			:= $(_eal)
+DEPDIRS-librte_compressdev		:= $(_emm) librte_ring librte_kvargs
+DEPDIRS-librte_cryptodev		:= $(_emm) librte_ring librte_kvargs
+DEPDIRS-librte_distributor		:= $(_eal) librte_mbuf librte_ethdev
+DEPDIRS-librte_efd			:= $(_eal) librte_ring librte_hash
+DEPDIRS-librte_ethdev			:= $(_emm) librte_ring librte_net  librte_kvargs
+DEPDIRS-librte_eventdev			:= $(_mem) librte_ring  librte_ethdev \
+					   librte_hash librte_timer librte_cryptodev
+DEPDIRS-librte_flow_classify		:= librte_net librte_table librte_acl
+DEPDIRS-librte_gro			:= $(_eal) librte_mbuf librte_ethdev librte_net
+DEPDIRS-librte_gso			:= $(_emm) librte_ethdev librte_net
+DEPDIRS-librte_hash			:= $(_eal) librte_ring
+DEPDIRS-librte_ip_frag			:= $(_emm) librte_ethdev librte_hash
+DEPDIRS-librte_jobstats			:= $(_eal)
+DEPDIRS-librte_kni			:= $(_emm) librte_ethdev librte_pci
+DEPDIRS-librte_latencystats		:= $(_eal) librte_metrics librte_ethdev librte_mbuf
+DEPDIRS-librte_lpm			:= $(_eal)
+DEPDIRS-librte_mbuf			:= $(_mem)
+DEPDIRS-librte_member			:= $(_eal) librte_hash
+DEPDIRS-librte_mempool			:= $(_eal) librte_ring
+DEPDIRS-librte_meter			:= $(_eal)
+DEPDIRS-librte_metrics			:= $(_eal)
+DEPDIRS-librte_net			:= $(_eal) librte_mbuf
+DEPDIRS-librte_pdump			:= $(_emm) librte_ethdev
+DEPDIRS-librte_pipeline			:= $(_emm) librte_table librte_port
+DEPDIRS-librte_port			:= $(_emm) librte_ethdev librte_ip_frag librte_sched
 ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DEPDIRS-librte_port += librte_kni
+DEPDIRS-librte_port			+= librte_kni
 endif
-DIRS-$(CONFIG_RTE_LIBRTE_TABLE) += librte_table
-DEPDIRS-librte_table := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_table += librte_port librte_lpm librte_hash
+DEPDIRS-librte_power			:= $(_eal)
+DEPDIRS-librte_rawdev			:= $(_eal) librte_ethdev
+DEPDIRS-librte_reorder			:= $(_emm)
+DEPDIRS-librte_sched			:= $(_emm) librte_net librte_timer
+DEPDIRS-librte_security			:= $(_emm) librte_ring librte_cryptodev librte_ethdev
+DEPDIRS-librte_table			:= $(_emm) librte_port librte_lpm librte_hash
 ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-DEPDIRS-librte_table += librte_acl
-endif
-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_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_GSO) += librte_gso
-DEPDIRS-librte_gso := librte_eal librte_mbuf librte_ethdev librte_net
-DEPDIRS-librte_gso += librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_BPF) += librte_bpf
-DEPDIRS-librte_bpf := librte_eal librte_mempool librte_mbuf librte_ethdev
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y)
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni
+DEPDIRS-librte_table			+= librte_acl
 endif
-DEPDIRS-librte_kni := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_kni += librte_pci
+DEPDIRS-librte_timer			:= $(_eal)
+DEPDIRS-librte_vhost			:= $(_emm) librte_ethdev librte_net
 
 include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.17.1

                 reply	other threads:[~2018-08-09 14:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180809144629.35749-1-keith.wiles@intel.com \
    --to=keith.wiles@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).