aboutsummaryrefslogtreecommitdiffstats
path: root/test/mppa/Makefile
blob: b210efaf1f6f9b0fea8adecc28fcc69961488cef (plain)
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
DIR=general
BINDIR=bin
ASMDIR=asm
TESTNAMES=simple call branch for forvar forvarl branchz branchzu div2

CCOMP=../../ccomp
#TESTS=$(addprefix $(DIR)/,$(TESTNAMES))
ELF=$(addprefix $(DIR)/$(BINDIR)/,$(addsuffix .bin,$(TESTNAMES)))
TOK=$(addprefix $(DIR)/$(BINDIR)/,$(addsuffix .tok,$(TESTNAMES)))
ASM=$(addprefix $(DIR)/$(ASMDIR)/,$(addsuffix .s,$(TESTNAMES)))
DEBUG:=$(if $(DEBUG),"-dall",)

all: $(ELF)

nobin: $(ASM)

$(DIR)/$(BINDIR)/%.bin: $(DIR)/$(ASMDIR)/%.s
	@mkdir -p $(@D)
	k1-gcc $< -o $@

.SECONDARY:
$(DIR)/$(ASMDIR)/%.s: $(DIR)/%.c $(CCOMP)
	@mkdir -p $(@D)
	ccomp $(DEBUG) -O0 -v -S $< -o $@

$(DIR)/$(BINDIR)/%.tok: $(DIR)/$(BINDIR)/%.bin $(DIR)/output/%.bin.exp
	@mkdir -p $(@D)
	@bash check.sh $< $@

$(DIR)/output/%.bin.exp: $(DIR)/%.c
	@bash generate.sh $< $@

.PHONY: FORCE
FORCE:

.PHONY:
check: $(TOK) sort mmult

.PHONY:
sort: FORCE
	(cd sort && make compc-check)

.PHONY:
mmult: FORCE
	(cd mmult && make compc-check)

.PHONY:
clean:
	rm -f $(DIR)/*.alloctrace
	rm -f $(DIR)/*.cm
	rm -f $(DIR)/*.compcert.c
	rm -f $(DIR)/*.i
	rm -f $(DIR)/*.light.c
	rm -f $(DIR)/*.ltl
	rm -f $(DIR)/*.mach
	rm -f $(DIR)/*.parsed.c
	rm -f $(DIR)/*.rtl.?
	rm -f $(DIR)/$(ASMDIR)/*.s
	rm -f $(DIR)/$(BINDIR)/*.bin
	rm -f $(DIR)/$(BINDIR)/*.tok
	rm -f $(DIR)/output/*.out
	rm -f $(DIR)/output/*.exp
	rm -rf $(DIR)/profile/
	rm -f $(ELF)