28 lines
464 B
Makefile
28 lines
464 B
Makefile
CC = gcc
|
|
CFLAGS = -Wall -Wextra -O2
|
|
LDFLAGS = -lm
|
|
|
|
SRC_DIR = src
|
|
DIST_DIR = dist
|
|
|
|
SRCS = $(wildcard $(SRC_DIR)/*.c)
|
|
OBJS = $(SRCS:$(SRC_DIR)/%.c=$(DIST_DIR)/%.o)
|
|
TARGET = $(DIST_DIR)/main
|
|
|
|
# 确保 dist 目录存在
|
|
MKDIR_P = mkdir -p
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(MKDIR_P) $(DIST_DIR)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(DIST_DIR)/%.o: $(SRC_DIR)/%.c
|
|
$(MKDIR_P) $(DIST_DIR)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
rm -rf $(DIST_DIR)
|
|
|
|
.PHONY: all clean |