1-include ../../../config-host.mak
2
3CROSS=lm32-elf-
4
5SIM = qemu-system-lm32
6SIMFLAGS = -M lm32-evr -nographic -semihosting -net none -kernel
7
8CC      = $(CROSS)gcc
9AS      = $(CROSS)as
10AS      = $(CC) -x assembler
11SIZE    = $(CROSS)size
12LD      = $(CC)
13OBJCOPY = $(CROSS)objcopy
14
15TSRC_PATH = $(SRC_PATH)/tests/tcg/lm32
16
17LDFLAGS = -T$(TSRC_PATH)/linker.ld
18ASFLAGS += -Wa,-I,$(TSRC_PATH)/
19
20CRT        = crt.o
21HELPER     = helper.o
22TESTCASES += test_add.tst
23TESTCASES += test_addi.tst
24TESTCASES += test_and.tst
25TESTCASES += test_andhi.tst
26TESTCASES += test_andi.tst
27TESTCASES += test_b.tst
28TESTCASES += test_be.tst
29TESTCASES += test_bg.tst
30TESTCASES += test_bge.tst
31TESTCASES += test_bgeu.tst
32TESTCASES += test_bgu.tst
33TESTCASES += test_bi.tst
34TESTCASES += test_bne.tst
35TESTCASES += test_break.tst
36TESTCASES += test_bret.tst
37TESTCASES += test_call.tst
38TESTCASES += test_calli.tst
39TESTCASES += test_cmpe.tst
40TESTCASES += test_cmpei.tst
41TESTCASES += test_cmpg.tst
42TESTCASES += test_cmpgi.tst
43TESTCASES += test_cmpge.tst
44TESTCASES += test_cmpgei.tst
45TESTCASES += test_cmpgeu.tst
46TESTCASES += test_cmpgeui.tst
47TESTCASES += test_cmpgu.tst
48TESTCASES += test_cmpgui.tst
49TESTCASES += test_cmpne.tst
50TESTCASES += test_cmpnei.tst
51TESTCASES += test_divu.tst
52TESTCASES += test_eret.tst
53TESTCASES += test_lb.tst
54TESTCASES += test_lbu.tst
55TESTCASES += test_lh.tst
56TESTCASES += test_lhu.tst
57TESTCASES += test_lw.tst
58TESTCASES += test_modu.tst
59TESTCASES += test_mul.tst
60TESTCASES += test_muli.tst
61TESTCASES += test_nor.tst
62TESTCASES += test_nori.tst
63TESTCASES += test_or.tst
64TESTCASES += test_ori.tst
65TESTCASES += test_orhi.tst
66#TESTCASES += test_rcsr.tst
67TESTCASES += test_ret.tst
68TESTCASES += test_sb.tst
69TESTCASES += test_scall.tst
70TESTCASES += test_sextb.tst
71TESTCASES += test_sexth.tst
72TESTCASES += test_sh.tst
73TESTCASES += test_sl.tst
74TESTCASES += test_sli.tst
75TESTCASES += test_sr.tst
76TESTCASES += test_sri.tst
77TESTCASES += test_sru.tst
78TESTCASES += test_srui.tst
79TESTCASES += test_sub.tst
80TESTCASES += test_sw.tst
81#TESTCASES += test_wcsr.tst
82TESTCASES += test_xnor.tst
83TESTCASES += test_xnori.tst
84TESTCASES += test_xor.tst
85TESTCASES += test_xori.tst
86
87all: build
88
89%.o: $(TSRC_PATH)/%.c
90	$(CC) $(CFLAGS) -c $< -o $@
91
92%.o: $(TSRC_PATH)/%.S
93	$(AS) $(ASFLAGS) -c $< -o $@
94
95%.tst: %.o $(TSRC_PATH)/macros.inc $(CRT) $(HELPER)
96	$(LD) $(LDFLAGS) $(NOSTDFLAGS) $(CRT) $(HELPER) $< -o $@
97
98build: $(TESTCASES)
99
100check: $(TESTCASES:test_%.tst=check_%)
101
102check_%: test_%.tst
103	@$(SIM) $(SIMFLAGS) $<
104
105clean:
106	$(RM) -fr $(TESTCASES) $(CRT) $(HELPER)
107