gcc 多文件编译Makfile
CC = gcc
CFLAGS = -Wall -O0 -g
SRC = $(wildcard *.c)
SRC += $(wildcard ./easylogger/port/*.c)
SRC += $(wildcard ./easylogger/src/*.c)
SRC += $(wildcard ./easylogger/plugins/file/*.c)
INCLUDE = -I./easylogger/inc -I./easylogger/plugins/file
LIB = -lpthread
OBJ = $(patsubst %.c, %.o, $(SRC))
APP = go
all: $(APP)
$(APP): $(OBJ)
$(CC) out/*.o -o $@ $(LIB)
mv $@ out/
%.o:%.c
$(CC) $(CFLAGS) -c $< -o $@ $(INCLUDE)
mkdir -p ./out
mv $@ out
clean:
$(RM) -r ./out $(APP)
.PHONY: clean
$@ 表示目标文件
$^ 表示所有的依赖文件
$< 表示第一个依赖文件
$? 表示比目标还要新的依赖文件列表

浙公网安备 33010602011771号