vriscv/Makefile
2023-10-08 21:50:06 +02:00

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