33 lines
483 B
Makefile
33 lines
483 B
Makefile
NAME=vriscv
|
|
CC=gcc
|
|
CFLAGS=-O3 -Wall -I src
|
|
LDFLAGS=-lpthread
|
|
BUILD_DIR=build
|
|
|
|
C_FILES := $(shell find src/ -name '*.c')
|
|
|
|
all: $(BUILD_DIR)/$(NAME)
|
|
|
|
# Top-level targets
|
|
$(BUILD_DIR)/$(NAME): $(C_FILES) | $(BUILD_DIR)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
# Build directory
|
|
$(BUILD_DIR):
|
|
mkdir -p $(BUILD_DIR)
|
|
|
|
# Phony targets
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
.PHONY: run
|
|
.SILENT: run
|
|
run: all
|
|
./$(BUILD_DIR)/$(NAME)
|
|
|
|
.PHONY: tests
|
|
.SILENT: tests
|
|
tests: all
|
|
make -C tests
|