28 lines
418 B
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)
|