diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile
index d3636ed..63982e8 100644
--- a/lib/librte_acl/Makefile
+++ b/lib/librte_acl/Makefile
@@ -58,6 +58,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include += rte_acl_osdep_alone.h
 else
 # this lib needs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_ACL) += lib/core
+LDLIBS += -lrte_core
 endif
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
index c959f5b..4fc3cb1 100644
--- a/lib/librte_cfgfile/Makefile
+++ b/lib/librte_cfgfile/Makefile
@@ -49,5 +49,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_CFGFILE)-include += rte_cfgfile.h
 
 # this lib needs eal
 DEPDIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile
index ba5e49f..f75689d 100644
--- a/lib/librte_cmdline/Makefile
+++ b/lib/librte_cmdline/Makefile
@@ -59,5 +59,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_CMDLINE)-include := $(INCS)
 
 # this lib needs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
index e1ab6ee..2c8bce2 100644
--- a/lib/librte_distributor/Makefile
+++ b/lib/librte_distributor/Makefile
@@ -45,5 +45,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h
 
 # this lib needs eal
 DEPDIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ether/Makefile b/lib/librte_ether/Makefile
index 647c554..c925ab2 100644
--- a/lib/librte_ether/Makefile
+++ b/lib/librte_ether/Makefile
@@ -50,5 +50,6 @@ SYMLINK-y-include += rte_eth_ctrl.h
 
 # this lib depends upon:
 DEPDIRS-y += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
index 220ba5d..d18147f 100644
--- a/lib/librte_hash/Makefile
+++ b/lib/librte_hash/Makefile
@@ -49,5 +49,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_fbk_hash.h
 
 # this lib needs eal
 DEPDIRS-$(CONFIG_RTE_LIBRTE_HASH) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile
index 9fbff70..078ca9e 100644
--- a/lib/librte_ip_frag/Makefile
+++ b/lib/librte_ip_frag/Makefile
@@ -55,5 +55,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_IP_FRAG)-include += rte_ip_frag.h
 
 # this library depends upon:
 DEPDIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += lib/core lib/librte_ether
+LDLIBS += -lrte_core -lethdev
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ivshmem/Makefile b/lib/librte_ivshmem/Makefile
index d873195..c059b3f 100644
--- a/lib/librte_ivshmem/Makefile
+++ b/lib/librte_ivshmem/Makefile
@@ -44,5 +44,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_IVSHMEM)-include := rte_ivshmem.h
 
 # this lib needs eal
 DEPDIRS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile
index d2472c2..63fe80d 100644
--- a/lib/librte_kni/Makefile
+++ b/lib/librte_kni/Makefile
@@ -45,5 +45,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_KNI)-include := rte_kni.h
 # this lib needs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_KNI) += lib/librte_ether
+LDLIBS += -lrte_core -lethedev
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
index 00564e2..8a015fc 100644
--- a/lib/librte_kvargs/Makefile
+++ b/lib/librte_kvargs/Makefile
@@ -47,5 +47,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_KVARGS)-include := $(INCS)
 
 # this lib needs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile
index 9bc0711..e041807 100644
--- a/lib/librte_lpm/Makefile
+++ b/lib/librte_lpm/Makefile
@@ -45,5 +45,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include := rte_lpm.h rte_lpm6.h
 
 # this lib needs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_LPM) += lib/core
+LDLIBS += -lrte_core
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile
index 8a7bee2..c4fcd4a 100644
--- a/lib/librte_meter/Makefile
+++ b/lib/librte_meter/Makefile
@@ -50,4 +50,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_METER)-include := rte_meter.h
 # this lib depends upon:
 DEPDIRS-$(CONFIG_RTE_LIBRTE_METER) += lib/core
 
+LDLIBS += -lrte_core
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile
index aae047a..873a228 100644
--- a/lib/librte_pipeline/Makefile
+++ b/lib/librte_pipeline/Makefile
@@ -52,4 +52,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) := lib/librte_table
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_port
 
+LDLIBS += -lrte_core -lrte_table -lrte_port
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_af_packet/Makefile b/lib/librte_pmd_af_packet/Makefile
index 39853a1..1b669a7 100644
--- a/lib/librte_pmd_af_packet/Makefile
+++ b/lib/librte_pmd_af_packet/Makefile
@@ -56,4 +56,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += lib/librte_kvargs
 
+LDLIBS += -lrte_core -lethdev -lrte_kvargs
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_bond/Makefile b/lib/librte_pmd_bond/Makefile
index d271300..1e0e893 100644
--- a/lib/librte_pmd_bond/Makefile
+++ b/lib/librte_pmd_bond/Makefile
@@ -63,4 +63,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_kvargs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += lib/librte_cmdline
 
+LDLIBS += -lrte_core -lethdev -lrte_kvargs -lrte_cmdline
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_e1000/Makefile b/lib/librte_pmd_e1000/Makefile
index b083db6..d6570d8 100644
--- a/lib/librte_pmd_e1000/Makefile
+++ b/lib/librte_pmd_e1000/Makefile
@@ -92,4 +92,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += lib/librte_net
 
+LDLIBS += -lrte_core -lethdev
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_enic/Makefile b/lib/librte_pmd_enic/Makefile
index 489ac1d..fe73b02 100644
--- a/lib/librte_pmd_enic/Makefile
+++ b/lib/librte_pmd_enic/Makefile
@@ -64,4 +64,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_net
 DEPDIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += lib/librte_hash
 
+LDLIBS += -lrte_core -lrte_hash -lethdev
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile
index 664d0e5..e13186a 100644
--- a/lib/librte_pmd_i40e/Makefile
+++ b/lib/librte_pmd_i40e/Makefile
@@ -98,4 +98,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += lib/librte_net
 
+LDLIBS += -lrte_core -lethdev
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_ixgbe/Makefile b/lib/librte_pmd_ixgbe/Makefile
index 33f4aa3..ea41fff 100644
--- a/lib/librte_pmd_ixgbe/Makefile
+++ b/lib/librte_pmd_ixgbe/Makefile
@@ -114,4 +114,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_net
 
+LDLIBS += -lrte_core -lethdev
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_pcap/Makefile b/lib/librte_pmd_pcap/Makefile
index 0ec383a..9fde23d 100644
--- a/lib/librte_pmd_pcap/Makefile
+++ b/lib/librte_pmd_pcap/Makefile
@@ -55,4 +55,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += lib/librte_kvargs
 
+LDLIBS += -lrte_core -lethdev -lrte_kvargs -lpcap
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_ring/Makefile b/lib/librte_pmd_ring/Makefile
index 6f5d423..4ab99d6 100644
--- a/lib/librte_pmd_ring/Makefile
+++ b/lib/librte_pmd_ring/Makefile
@@ -54,4 +54,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += lib/librte_kvargs
 
+LDLIBS += -lrte_core -lethdev -lrte_kvargs
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_virtio/Makefile b/lib/librte_pmd_virtio/Makefile
index 477bf9c..14e2103 100644
--- a/lib/librte_pmd_virtio/Makefile
+++ b/lib/librte_pmd_virtio/Makefile
@@ -54,4 +54,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += lib/librte_net
 
+LDLIBS += -lrte_core -lethdev
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_vmxnet3/Makefile b/lib/librte_pmd_vmxnet3/Makefile
index d833c90..5293ebd 100644
--- a/lib/librte_pmd_vmxnet3/Makefile
+++ b/lib/librte_pmd_vmxnet3/Makefile
@@ -77,4 +77,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += lib/librte_net
 
+LDLIBS += -lrte_core -lethdev
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pmd_xenvirt/Makefile b/lib/librte_pmd_xenvirt/Makefile
index bf6265e..81ca455 100644
--- a/lib/librte_pmd_xenvirt/Makefile
+++ b/lib/librte_pmd_xenvirt/Makefile
@@ -55,4 +55,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_net
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += lib/librte_cmdline
 
+LDLIBS += -lrte_core -lethdev -lrte_cmdline -lxenstore
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile
index 8b0650f..0c90c6a 100644
--- a/lib/librte_port/Makefile
+++ b/lib/librte_port/Makefile
@@ -72,4 +72,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_sched
 DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ip_frag
 
+LDLIBS += -lrte_core -lethdev -lrte_sched -lrte_ip_frag
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile
index 3a531b0..a62072d 100644
--- a/lib/librte_power/Makefile
+++ b/lib/librte_power/Makefile
@@ -46,4 +46,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_POWER)-include := rte_power.h
 # this lib needs eal
 DEPDIRS-$(CONFIG_RTE_LIBRTE_POWER) += lib/core
 
+LDLIBS += -lrte_core
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile
index a2b965f..39a47d8 100644
--- a/lib/librte_sched/Makefile
+++ b/lib/librte_sched/Makefile
@@ -54,4 +54,6 @@ DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_net
 DEPDIRS-$(CONFIG_RTE_LIBRTE_SCHED) += lib/librte_timer
 
+LDLIBS += -lrte_core -lrte_timer
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile
index fbd451a..6974f06 100644
--- a/lib/librte_table/Makefile
+++ b/lib/librte_table/Makefile
@@ -73,7 +73,10 @@ 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
+LDLIBS += -lrte_acl
 endif
 DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_hash
 
+LDLIBS += -lrte_core -lrte_port -lrte_lpm -lrte_hash
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile
index afdffb9..5e8c22a 100644
--- a/lib/librte_timer/Makefile
+++ b/lib/librte_timer/Makefile
@@ -45,4 +45,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_TIMER)-include := rte_timer.h
 # this lib needs
 DEPDIRS-$(CONFIG_RTE_LIBRTE_TIMER) += lib/core
 
+LDLIBS += -lrte_core
+
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile
index 3c54be7..8bf1cef 100644
--- a/lib/librte_vhost/Makefile
+++ b/lib/librte_vhost/Makefile
@@ -45,4 +45,6 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_virtio_net.h
 DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/core
 DEPDIRS-$(CONFIG_RTE_LIBRTE_VHOST) += lib/librte_ether
 
+LDLIBS += -lrte_core -lethdev -lfuse
+
 include $(RTE_SDK)/mk/rte.lib.mk
