编写irun的makefile脚本
时间: 2023-11-22 14:56:24 浏览: 82
以下是一个简单的 irun Makefile 示例:
```Makefile
# Makefile for irun
# Define the top-level directory of your project
TOP = $(PWD)
# Set the directories for source files, include files, and object files
SRC_DIR = $(TOP)/src
INC_DIR = $(TOP)/include
OBJ_DIR = $(TOP)/obj
# Set the compiler and flags
CC = irun
CFLAGS = -I$(INC_DIR) -v
# List all source files
SRC_FILES = $(wildcard $(SRC_DIR)/*.sv)
# Generate a list of object files
OBJ_FILES = $(patsubst $(SRC_DIR)/%.sv, $(OBJ_DIR)/%.o, $(SRC_FILES))
# Default target is to compile all object files
all: $(OBJ_FILES)
# Compile each object file
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.sv
$(CC) $(CFLAGS) -c $< -o $@
# Clean up object files and compiled executables
clean:
rm -f $(OBJ_DIR)/*.o
```
在这个 Makefile 中,我们首先定义了项目的顶层目录 `TOP`,以及源文件目录 `SRC_DIR`、头文件目录 `INC_DIR` 和目标文件目录 `OBJ_DIR`。然后我们定义编译器 `CC` 和编译选项 `CFLAGS`,以及所有源文件 `SRC_FILES`。接着我们使用 `wildcard` 函数和模式替换函数 `patsubst` 来生成所有的目标文件 `OBJ_FILES`。最后,我们定义了默认目标 `all`,它会编译所有目标文件;还有一个 `clean` 目标,它会删除所有目标文件和编译生成的可执行文件。
阅读全文