aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/towers/bmark.mk
blob: b16bf04da3e8964128f07c441c696b60932cb2f3 (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
#=======================================================================
# UCB CS250 Makefile fragment for benchmarks
#-----------------------------------------------------------------------
#
# Each benchmark directory should have its own fragment which
# essentially lists what the source files are and how to link them
# into an riscv and/or host executable. All variables should include
# the benchmark name as a prefix so that they are unique.
#

towers_c_src = \
	towers_main.c \
	syscalls.c \

towers_riscv_src = \
	crt.S \

towers_c_objs     = $(patsubst %.c, %.o, $(towers_c_src))
towers_riscv_objs = $(patsubst %.S, %.o, $(towers_riscv_src))

towers_host_bin = towers.host
$(towers_host_bin) : $(towers_c_src)
	$(HOST_COMP) $^ -o $(towers_host_bin)

towers_riscv_bin = towers.riscv
$(towers_riscv_bin) : $(towers_c_objs) $(towers_riscv_objs)
	$(RISCV_LINK) $(towers_c_objs) $(towers_riscv_objs) -o $(towers_riscv_bin) $(RISCV_LINK_OPTS)

junk += $(towers_c_objs) $(towers_riscv_objs) \
        $(towers_host_bin) $(towers_riscv_bin)