-SRCS-$(CONFIG_RTE_TEST_PMD) := testpmd.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += parameters.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += cmdline.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += config.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += iofwd.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += macfwd.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += rxonly.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += txonly.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += csumonly.c
-ifeq ($(CONFIG_RTE_LIBRTE_IEEE1588),y)
-SRCS-$(CONFIG_RTE_TEST_PMD) += ieee1588fwd.c
+SRCS-y := testpmd.c
+SRCS-y += parameters.c
+SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline.c
+SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_flow.c
+SRCS-y += config.c
+SRCS-y += iofwd.c
+SRCS-y += macfwd.c
+SRCS-y += macswap.c
+SRCS-y += flowgen.c
+SRCS-y += rxonly.c
+SRCS-y += txonly.c
+SRCS-y += csumonly.c
+SRCS-y += icmpecho.c
+SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
+
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
+LDLIBS += -lrte_pmd_bond