lib/Makefile: cleanup file to be readable

Message ID 20180809144629.35749-1-keith.wiles@intel.com (mailing list archive)
State Rejected, archived
Delegated to: Thomas Monjalon
Headers
Series lib/Makefile: cleanup file to be readable |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Wiles, Keith Aug. 9, 2018, 2:46 p.m. UTC
  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(-)
  

Patch

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