vriscv/Makefile

28 lines
418 B
Makefile

NAME=vriscv
CC=gcc
CFLAGS=-O3 -Wall -I src
LDFLAGS=
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)