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例子
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.