# # Makefile for base example # include ./make.h # 目标和源文件 TARGETS = fork execlp SOURCES = $(wildcard $(SRC_DIR)/*.c) # 找到所有的 .c 文件 OBJECTS = $(patsubst $(SRC_DIR)/%.c,%.o,$(SOURCES)) # 将 .c 替换为 .o # 默认目标 all: $(TARGETS) # 链接目标文件生成可执行文件 fork: fork.o $(CC) -o fork fork.o execlp: execlp.o $(CC) -o execlp execlp.o # 从 .c 文件编译生成 .o 文件 %.o: $(SRC_DIR)/%.c $(CC) $(CFLAGS) $(COMMON_INCLUDE_DIRS) -c $< -o $@ clean: $(RM) -f $(TARGETS) $(OBJECTS)