forked from B-Lang-org/bsc-testsuite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
137 lines (113 loc) · 2.6 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#
CONFDIR = $(realpath .)
KEEPFILES = test_list.sh
RUNTESTFLAGS = --tool bsc
LOCALCHKCMD = echo "Local check is not supported at top level"
##
## default top level target run all tests
all: check
@echo "ran all tests"
include norealclean.mk
# includes the groups list which is generated by script from testsuite tree
-include groups.list
# These are a list of long running test which are not include in the basic tests --
# that is when make dev.group is run
# make check runs all tests
long_tests.list = \
Boolify \
ETooManySteps \
List \
ListN \
ListN_old \
PopCount \
bsc_examples \
bsv05 \
bugID403 \
cache_coherence \
course_lab \
des_core \
floating_point \
idct \
pong \
reginit \
rotors_control \
three_way_round_robin_arbiter \
verilog \
bscpong \
spiless-tx-bsv \
spiless-tx-bsv-cocoon \
smoke_test.list = \
options \
quirks \
compile \
gcd \
example_misc.exp \
fib1 \
typechecker \
firfilter \
compile \
if \
verilog \
undet \
comments \
vcd \
inline \
astate \
interfacecalls \
time \
tasks \
noinline \
portprops \
mcd \
options \
schedule \
handshake_protocol \
b247 \
statename \
rwire \
fifo \
rega \
commands \
evaluator \
# we want to make this all the time
groups.list: test_list.sh Makefile
rm -f groups.list
./test_list.sh $(long_tests.list) > groups.list
## This target makes any .exp file found in the directories below
## E.g., make rulesort.check
.PHONY: .check
%.check : clean
$(RUNTESTENV) $(RUNTEST) $(RUNTESTFLAGS) --tool bsc $(basename $@).exp
.PHONY: fullcheck
fullcheck: clean releasecheck
.PHONY: enablelongtests
enablelongtests:
cd bsc.long_tests && $(MAKE) all
.PHONY: releasecheck
releasecheck: enablelongtests
$(RUNTESTENV) $(RUNTEST) $(RUNTESTFLAGS)
## this target makes a custom suite of tests which are defined in the .list section above.
## usage -- make scheduler.group
.PHONY: .group
%.group : clean groups.list
$(RUNTESTENV) $(RUNTEST) $(RUNTESTFLAGS) $(addsuffix .exp, $($(basename $@).list))
.PHONY: smoke
smoke: smoke_test.group
SUBDIRS := $(dir $(wildcard bsc.*/Makefile*))
.PHONY: realclean
realclean: clean
-rm -f groups.list
-rm -f *.tar.gz
-rm -f bsc.log*
-rm -f `find . -name '*~' -o -name 'core'`
-rm -f testrun.html
.PHONY: submakefiles
submakefiles:
@for dir in $(SUBDIRS) ; do \
if [ ! -f "$$dir/Makefile" ] ; then \
echo 'doing cp for '$$dir ; \
cp config/mkclean.Makefile $$dir/Makefile ;\
elif ! egrep '^clean:|clean\.mk' $$dir/Makefile > /dev/null ; \
then echo 'doing cat for '$$dir ; \
cat config/mkclean.Makefile >> $$dir/Makefile ; \
fi ; done