Initial commit from https://devstar.cn/lat5211/base.git ( ed411359a0b35dccda674d15913e38a24a6d006b )
This commit is contained in:
64
Makefile
Normal file
64
Makefile
Normal file
@@ -0,0 +1,64 @@
|
||||
#
|
||||
# Makefile for base example
|
||||
#
|
||||
include ./make.h
|
||||
|
||||
# 目标和源文件
|
||||
TARGETS = fork execlp getSum
|
||||
SOURCES = $(wildcard $(SRC_DIR)/*.c) # 找到所有的 .c 文件
|
||||
OBJECTS = $(patsubst $(SRC_DIR)/%.c,%.o,$(SOURCES)) # 将 .c 替换为 .o
|
||||
|
||||
# 调试标志
|
||||
DEBUG_FLAGS = -g -O0
|
||||
CFLAGS += $(DEBUG_FLAGS) # 确保包含调试信息
|
||||
|
||||
# 默认目标
|
||||
all: $(TARGETS)
|
||||
|
||||
# 调试目标(与preLaunchTask对应)
|
||||
debug: CFLAGS += -DDEBUG -Wall -Wextra
|
||||
debug: $(TARGETS)
|
||||
|
||||
# 链接目标文件生成可执行文件
|
||||
fork: fork.o
|
||||
$(CC) -o fork fork.o
|
||||
|
||||
execlp: execlp.o
|
||||
$(CC) -o execlp execlp.o
|
||||
|
||||
getSum: getSum.o
|
||||
$(CC) -o getSum getSum.o
|
||||
|
||||
# 从 .c 文件编译生成 .o 文件
|
||||
%.o: $(SRC_DIR)/%.c
|
||||
$(CC) $(CFLAGS) $(COMMON_INCLUDE_DIRS) -c $< -o $@
|
||||
|
||||
# 清理目标
|
||||
clean:
|
||||
$(RM) -f $(TARGETS) $(OBJECTS) *.o
|
||||
|
||||
# 运行目标
|
||||
run-fork: fork
|
||||
./fork
|
||||
|
||||
run-execlp: execlp
|
||||
./execlp
|
||||
|
||||
# GDB调试目标
|
||||
gdb-fork: fork
|
||||
gdb ./fork
|
||||
|
||||
gdb-execlp: execlp
|
||||
gdb ./execlp
|
||||
|
||||
gdb-fork: fork
|
||||
gdb ./fork
|
||||
|
||||
gdb-execlp: getSum
|
||||
gdb ./getSum
|
||||
|
||||
# 安装目录结构(如果需要)
|
||||
install-dirs:
|
||||
mkdir -p $(SRC_DIR) $(BUILD_DIR)
|
||||
|
||||
.PHONY: all debug clean run-fork run-execlp gdb-fork gdb-execlp install-dirs
|
||||
Reference in New Issue
Block a user