diff --git a/app/cmdline_test/Makefile b/app/cmdline_test/Makefile
index 11c3aba..e9eafd2 100644
--- a/app/cmdline_test/Makefile
+++ b/app/cmdline_test/Makefile
@@ -31,6 +31,8 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
+
 #
 # library name
 #
@@ -39,10 +41,12 @@ APP = cmdline_test
 #
 # all sources are stored in SRCS-y
 #
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += commands.c
+SRCS-y += cmdline_test.c
+SRCS-y += commands.c
 
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
 include $(RTE_SDK)/mk/rte.app.mk
+
+endif
diff --git a/app/dump_cfg/Makefile b/app/dump_cfg/Makefile
index 4c0714e..3257127 100644
--- a/app/dump_cfg/Makefile
+++ b/app/dump_cfg/Makefile
@@ -40,7 +40,6 @@ CFLAGS += $(WERROR_FLAGS)
 SRCS-y := main.c
 
 # this application needs libraries first
- DEPDIRS-y += lib
-
- include $(RTE_SDK)/mk/rte.app.mk
+DEPDIRS-y += lib
 
+include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
index 00fa3b6..43dfdcb 100644
--- a/app/test-acl/Makefile
+++ b/app/test-acl/Makefile
@@ -31,15 +31,18 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
+
 APP = testacl
 
 CFLAGS += $(WERROR_FLAGS)
 
 # all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) := main.c
+SRCS-y := main.c
 
 # this application needs libraries first
-DEPDIRS-$(CONFIG_RTE_LIBRTE_ACL) += lib
-
+DEPDIRS-y += lib
 
 include $(RTE_SDK)/mk/rte.app.mk
+
+endif
diff --git a/app/test-pipeline/Makefile b/app/test-pipeline/Makefile
index 6cc0985..b81652f 100644
--- a/app/test-pipeline/Makefile
+++ b/app/test-pipeline/Makefile
@@ -31,6 +31,8 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+ifeq ($(CONFIG_RTE_LIBRTE_PIPELINE),y)
+
 #
 # library name
 #
@@ -46,21 +48,21 @@ endif
 #
 # all source are stored in SRCS-y
 #
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := main.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += config.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += init.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += runtime.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pipeline_stub.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pipeline_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pipeline_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pipeline_lpm_ipv6.c
+SRCS-y := main.c
+SRCS-y += config.c
+SRCS-y += init.c
+SRCS-y += runtime.c
+SRCS-y += pipeline_stub.c
+SRCS-y += pipeline_hash.c
+SRCS-y += pipeline_lpm.c
+SRCS-y += pipeline_lpm_ipv6.c
 
 # include ACL lib if available
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += pipeline_acl.c
-endif
+SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c
 
 # this application needs libraries first
-DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib
+DEPDIRS-y += lib
 
 include $(RTE_SDK)/mk/rte.app.mk
+
+endif
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
index debf880..97dc2e6 100644
--- a/app/test-pmd/Makefile
+++ b/app/test-pmd/Makefile
@@ -31,6 +31,8 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+ifeq ($(CONFIG_RTE_TEST_PMD),y)
+
 #
 # library name
 #
@@ -46,25 +48,21 @@ endif
 #
 # all source are stored in SRCS-y
 #
-SRCS-$(CONFIG_RTE_TEST_PMD) := testpmd.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += parameters.c
-ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
-SRCS-$(CONFIG_RTE_TEST_PMD) += cmdline.c
-endif
-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) += macfwd-retry.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += macswap.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += flowgen.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += rxonly.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += txonly.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += csumonly.c
-SRCS-$(CONFIG_RTE_TEST_PMD) += icmpecho.c
-ifeq ($(CONFIG_RTE_LIBRTE_IEEE1588),y)
-SRCS-$(CONFIG_RTE_TEST_PMD) += ieee1588fwd.c
-endif
-SRCS-$(CONFIG_RTE_TEST_PMD) += mempool_anon.c
+SRCS-y := testpmd.c
+SRCS-y += parameters.c
+SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline.c
+SRCS-y += config.c
+SRCS-y += iofwd.c
+SRCS-y += macfwd.c
+SRCS-y += macfwd-retry.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
+SRCS-y += mempool_anon.c
 
 ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y)
 CFLAGS_mempool_anon.o := -D_GNU_SOURCE
@@ -72,6 +70,8 @@ endif
 CFLAGS_cmdline.o := -D_GNU_SOURCE
 
 # this application needs libraries first
-DEPDIRS-$(CONFIG_RTE_TEST_PMD) += lib
+DEPDIRS-y += lib
 
 include $(RTE_SDK)/mk/rte.app.mk
+
+endif
diff --git a/app/test/Makefile b/app/test/Makefile
index 0024737..445405a 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -31,6 +31,8 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+ifeq ($(CONFIG_RTE_APP_TEST),y)
+
 #
 # library name
 #
@@ -40,50 +42,50 @@ APP = test
 # all sources are stored in SRCS-y
 #
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_pci.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_prefetch.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_byteorder.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_per_lcore.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_atomic.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_malloc.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_cycles.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_spinlock.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_memory.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_memzone.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_ring.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_table.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_table_pipeline.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_table_tables.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_table_ports.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_table_combined.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_table_acl.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_ring_perf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_rwlock.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_timer.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_mempool.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_mempool_perf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_mbuf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_logs.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_memcpy.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_memcpy_perf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_hash.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_hash_perf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_lpm.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_lpm6.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_debug.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_errno.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_tailq.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_string_fns.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_mp_secondary.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_cpuflags.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_eal_flags.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_alarm.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_interrupts.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_version.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_eal_fs.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_func_reentrancy.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_cmdline.c
+SRCS-y += test.c
+SRCS-y += test_pci.c
+SRCS-y += test_prefetch.c
+SRCS-y += test_byteorder.c
+SRCS-y += test_per_lcore.c
+SRCS-y += test_atomic.c
+SRCS-y += test_malloc.c
+SRCS-y += test_cycles.c
+SRCS-y += test_spinlock.c
+SRCS-y += test_memory.c
+SRCS-y += test_memzone.c
+SRCS-y += test_ring.c
+SRCS-y += test_table.c
+SRCS-y += test_table_pipeline.c
+SRCS-y += test_table_tables.c
+SRCS-y += test_table_ports.c
+SRCS-y += test_table_combined.c
+SRCS-y += test_table_acl.c
+SRCS-y += test_ring_perf.c
+SRCS-y += test_rwlock.c
+SRCS-y += test_timer.c
+SRCS-y += test_mempool.c
+SRCS-y += test_mempool_perf.c
+SRCS-y += test_mbuf.c
+SRCS-y += test_logs.c
+SRCS-y += test_memcpy.c
+SRCS-y += test_memcpy_perf.c
+SRCS-y += test_hash.c
+SRCS-y += test_hash_perf.c
+SRCS-y += test_lpm.c
+SRCS-y += test_lpm6.c
+SRCS-y += test_debug.c
+SRCS-y += test_errno.c
+SRCS-y += test_tailq.c
+SRCS-y += test_string_fns.c
+SRCS-y += test_mp_secondary.c
+SRCS-y += test_cpuflags.c
+SRCS-y += test_eal_flags.c
+SRCS-y += test_alarm.c
+SRCS-y += test_interrupts.c
+SRCS-y += test_version.c
+SRCS-y += test_eal_fs.c
+SRCS-y += test_func_reentrancy.c
+SRCS-y += test_cmdline.c
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_etheraddr.c
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_portlist.c
@@ -91,25 +93,23 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_ipaddr.c
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_cirbuf.c
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
 SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_red.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_sched.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_meter.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_kni.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_power.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_common.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_timer_perf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_ivshmem.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_distributor.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_distributor_perf.c
-SRCS-$(CONFIG_RTE_APP_TEST) += test_devargs.c
-SRCS-$(CONFIG_RTE_APP_TEST) += virtual_pmd.c
-SRCS-$(CONFIG_RTE_APP_TEST) += packet_burst_generator.c
-ifeq ($(CONFIG_RTE_APP_TEST),y)
+SRCS-y += test_red.c
+SRCS-y += test_sched.c
+SRCS-y += test_meter.c
+SRCS-y += test_kni.c
+SRCS-y += test_power.c
+SRCS-y += test_common.c
+SRCS-y += test_timer_perf.c
+SRCS-y += test_ivshmem.c
+SRCS-y += test_distributor.c
+SRCS-y += test_distributor_perf.c
+SRCS-y += test_devargs.c
+SRCS-y += virtual_pmd.c
+SRCS-y += packet_burst_generator.c
 SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
 SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
-endif
 
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
@@ -130,6 +130,8 @@ endif
 CFLAGS += -D_GNU_SOURCE
 
 # this application needs libraries first
-DEPDIRS-$(CONFIG_RTE_APP_TEST) += lib
+DEPDIRS-y += lib
 
 include $(RTE_SDK)/mk/rte.app.mk
+
+endif
