DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] lib/Makefile: cleanup file to be readable
@ 2018-08-09 14:46 Keith Wiles
  0 siblings, 0 replies; only message in thread
From: Keith Wiles @ 2018-08-09 14:46 UTC (permalink / raw)
  To: dev

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-08-09 14:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-09 14:46 [dpdk-dev] [PATCH] lib/Makefile: cleanup file to be readable Keith Wiles

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).