bmark.mk 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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. dhrystone_c_src = \
  11. dhrystone_main.c \
  12. dhrystone.c \
  13. syscalls.c \
  14. dhrystone_riscv_src = \
  15. crt.S \
  16. dhrystone_c_objs = $(patsubst %.c, %.o, $(dhrystone_c_src))
  17. dhrystone_riscv_objs = $(patsubst %.S, %.o, $(dhrystone_riscv_src))
  18. dhrystone_host_bin = dhrystone.host
  19. $(dhrystone_host_bin): $(dhrystone_c_src)
  20. $(HOST_COMP) $^ -o $(dhrystone_host_bin)
  21. dhrystone_riscv_bin = dhrystone.riscv
  22. $(dhrystone_riscv_bin): $(dhrystone_c_objs) $(dhrystone_riscv_objs)
  23. $(RISCV_LINK) $(dhrystone_c_objs) $(dhrystone_riscv_objs) \
  24. -o $(dhrystone_riscv_bin) $(RISCV_LINK_OPTS)
  25. junk += $(dhrystone_c_objs) $(dhrystone_riscv_objs) \
  26. $(dhrystone_host_bin) $(dhrystone_riscv_bin)