bmark.mk 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. #=======================================================================
  2. # UCB CS250 Makefile fragment for benchmarks
  3. #-----------------------------------------------------------------------
  4. #
  5. # Each benchmark directory should have its own fragment which
  6. # essentially lists what the source files are and how to link them
  7. # into an riscv and/or host executable. All variables should include
  8. # the benchmark name as a prefix so that they are unique.
  9. #
  10. multiply_c_src = \
  11. multiply_main.c \
  12. multiply.c \
  13. syscalls.c \
  14. multiply_riscv_src = \
  15. crt.S \
  16. multiply_c_objs = $(patsubst %.c, %.o, $(multiply_c_src))
  17. multiply_riscv_objs = $(patsubst %.S, %.o, $(multiply_riscv_src))
  18. multiply_host_bin = multiply.host
  19. $(multiply_host_bin): $(multiply_c_src)
  20. $(HOST_COMP) $^ -o $(multiply_host_bin)
  21. multiply_riscv_bin = multiply.riscv
  22. $(multiply_riscv_bin): $(multiply_c_objs) $(multiply_riscv_objs)
  23. $(RISCV_LINK) $(multiply_c_objs) $(multiply_riscv_objs) -o $(multiply_riscv_bin) $(RISCV_LINK_OPTS)
  24. junk += $(multiply_c_objs) $(multiply_riscv_objs) \
  25. $(multiply_host_bin) $(multiply_riscv_bin)