# for "make clean" to work everywhere
CONFDIR = $(realpath ..)
###
DONTKEEPFILES =
.PHONY: default
default:
@echo
@echo "Targets are: "
@echo " all: enables all long-running tests"
@echo " check: runs all currently enabled tests"
@echo " clean: cleans all subdirectories"
@echo " disable: disables all long-running tests"
@echo " realclean: removes test output files"
@echo " show: show currently enabled tests"
@echo
@echo Typical usage to run just one test
@echo " make
" ## only need to do once
@echo " make check"
@echo
@echo To disable a single test
@echo " make no-"
@echo
@echo Directory targets are: $(DIRS)
@echo
.PHONY: checknote
checknote:
@echo "Makefile target check runs only currently enabled tests"
CHECKPREREQUISITES += checknote
.PHONY: localchecknote
localchecknote:
@echo "Makefile target localcheck runs only currently enabled tests"
LOCALCHECKPREREQUISITES += localchecknote
### MPEG4 #######################################
DIRS += MPEG4
.PHONY: MPEG4 no-MPEG4
MPEG4:
ln -sf mpeg.exp.golden MPEG4/mpeg.exp
no-MPEG4:
@rm MPEG4/mpeg.exp
### ###############################################
### conflict_free_large #######################################
DIRS += conflict_free_large
.PHONY: conflict_free_large no-conflict_free_large
conflict_free_large:
ln -sf conflict_free_large.exp.golden conflict_free_large/conflict_free_large.exp
no-conflict_free_large:
@rm conflict_free_large/conflict_free_large.exp
### log2_loop #######################################
DIRS += log2_loop
.PHONY: log2_loop no-log2_loop
log2_loop:
ln -sf log2_loop.exp.golden log2_loop/actionvalue/log2_loop.exp
ln -sf log2_loop.exp.golden log2_loop/module/log2_loop.exp
ln -sf log2_loop.exp.golden log2_loop/pure/log2_loop.exp
no-log2_loop:
@rm log2_loop/actionvalue/log2_loop.exp
@rm log2_loop/module/log2_loop.exp
@rm log2_loop/pure/log2_loop.exp
### ###############################################
#### To add a testcase do the following:
#### 1) Add a make target for the specific directory. See the common
#### 6-line examples above.
#### 2) Add the necessary .exp.golden files and .expected files to the
#### directory. Be sure to include both Bluesim and Verilog cases
#### where applicable.
#### Note that the *.exp.golden file should be checked into SVN, and
#### the *.exp file is merely a link created and managed by the this
#### Makefile. The links will be removed by a "make disable".
## Enable all the long running tests
.PHONY: all
all: $(DIRS)
## Show currently enabled tests
ENABLED = $(shell for d in $(DIRS); do if [ -f $$d/*.exp ]; then echo $$d; fi; done)
.PHONY: show
show:
@echo "Currently enabled test directories:"
@echo " $(ENABLED)"
## disable all of the tests
.PHONY: disable
disable: $(addprefix no-,$(DIRS))
## clean up test-related files
realclean:
@rm -rf *.log *.sum
#### This must be at the end ##############################
include $(CONFDIR)/norealclean.mk