Files
cs420/bench/Makefile
Minseong Jang f7def26ba5 Update bench
2022-06-02 14:33:56 +09:00

39 lines
876 B
Makefile

CC=riscv64-linux-gnu-gcc
CXX=riscv64-linux-gnu-g++
KECC=../target/release/kecc
CFLAGS=-O
RM=rm -f
SRCS=$(shell find . -name "*.c")
OBJS=$(subst .c,.s,$(SRCS))
OBJS_GCC=$(subst .c,.o,$(SRCS))
all: bench bench-gcc
bench: $(OBJS) driver.o
$(CXX) -o bench $(OBJS) driver.o
run: bench
qemu-riscv64-static -L /usr/riscv64-linux-gnu ./bench
bench-gcc: $(OBJS_GCC) driver.o
$(CXX) -o bench-gcc $(OBJS_GCC) driver.o
run-gcc: bench-gcc
qemu-riscv64-static -L /usr/riscv64-linux-gnu ./bench-gcc
driver.o: $(SRCS) driver.cpp
$(CXX) $(CFLAGS) -fsigned-char -o driver.o -c -I. driver.cpp
%.s: %.c $(KECC)
($(KECC) -O $< -o $@) || (rm $@ -rf; exit 1)
%.o: %.c
($(CC) -O -fsigned-char -c $< -o $@) || (rm $@ -rf; exit 1)
$(KECC):
cargo build --manifest-path=../Cargo.toml --features=build-bin --release --bin kecc
clean:
$(RM) $(OBJS) $(OBJS_GCC) driver.o bench bench-gcc