bmark.mk 1019 B

12345678910111213141516171819202122232425262728293031
  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. qsort_c_src = \
  11. qsort_main.c \
  12. syscalls.c \
  13. qsort_riscv_src = \
  14. crt.S \
  15. qsort_c_objs = $(patsubst %.c, %.o, $(qsort_c_src))
  16. qsort_riscv_objs = $(patsubst %.S, %.o, $(qsort_riscv_src))
  17. qsort_host_bin = qsort.host
  18. $(qsort_host_bin) : $(qsort_c_src)
  19. $(HOST_COMP) $^ -o $(qsort_host_bin)
  20. qsort_riscv_bin = qsort.riscv
  21. $(qsort_riscv_bin) : $(qsort_c_objs) $(qsort_riscv_objs)
  22. $(RISCV_LINK) $(qsort_c_objs) $(qsort_riscv_objs) -o $(qsort_riscv_bin) $(RISCV_LINK_OPTS)
  23. junk += $(qsort_c_objs) $(qsort_riscv_objs) \
  24. $(qsort_host_bin) $(qsort_riscv_bin)