CC = gcc
CFLAGS = -std=gnu99 -ggdb -D_BSD_SOURCE
CFLAGS += -Wl,-rpath=./lib -L./lib #动态库链接路径
LIBS = zlog pthread #指定需要链接的库的名字
INCLUDES = ./kernel ./algorithm ./include #指定头文件路径
SUB_DIR = kernel algorithm
TARGET = server
SRCS = $(wildcard *.c $(addsuffix / *.c,$(SUB_DIR)))
OBJS = $(patsubst %.c,%.o,$(SRCS))
RM = rm -f
CFLAGS += -MMD -MF $(patsubst ./%, %, $(patsubst %.o, %.d, $(dir $@).$(no
/ tdir $@))) $(addprefix -I, $(INCLUDES)) #自动生成依赖保存到.d文件
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS) $(CFLAGS) $(addprefix -l, $(LIBS))
clean:
$(RM) $(TARGET) $(OBJS)
一个较全的Makefile例子
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.