diff --git a/makefile b/makefile
index 43ec69b5ba764e18eee5f2a940103a3ba301d2df..5a0b9f4a614fce33f70fe5e1f246c79033829149 100644
--- a/makefile
+++ b/makefile
@@ -59,8 +59,10 @@ TESTNAME    =
 # List of all tests (this is used when running 'make all/clean')
 TEST_LIST_FILE ?= $(TESTCODES_DIR)/software_list.txt
 TEST_LIST_FILE += $(PROJ_SW_DIR)/software_list.txt
+TEST_LIST       = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do echo $$line; done)
 
-TEST_LIST     = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do echo $$line; done)
+# List of Tests to Exclude from Regression
+EXCLUDE_LIST_FLIE = $(PROJ_SW_DIR)/regression_exclude.txt
 
 # Default to DS-5 tool-chain
 TOOL_CHAIN = ds5
@@ -196,9 +198,9 @@ $(eval REGRESSION_NAME =$(shell date +%Y_%m_%d_%H_%M_%S))
 $(eval REGRESSION_DIR =  $(SIM_TOP_DIR)/regression_$(REGRESSION_NAME))
 
 # Create List of Make Targets
-TEST_LIST_MTI = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do echo mti_$$line; done)
-TEST_LIST_XM  = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do echo mti_$$line; done)
-TEST_LIST_VCS = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do echo mti_$$line; done)
+TEST_LIST_MTI = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do if ! grep -Fxq "$$line" $(EXCLUDE_LIST_FLIE); then echo mti_$$line; fi; done)
+TEST_LIST_XM  = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do if ! grep -Fxq "$$line" $(EXCLUDE_LIST_FLIE); then echo xm_$$line; fi; done)
+TEST_LIST_VCS = $(shell cat $(TEST_LIST_FILE) | while read line || [ -n "$$line" ]; do if ! grep -Fxq "$$line" $(EXCLUDE_LIST_FLIE); then echo vcs_$$line; fi; done)
 
 # Create templates for Make Targets
 define mti_template