版权声明:本文为博主原创文章,如需转载请注明出处 https://blog.csdn.net/bajianxiaofendui/article/details/87828507
makefile通用模板
结合自己编译redis测试代码的过程,总结出一个makefile模板,以下makefile是以redis的测试代码为例进行验证的(请见我另一篇博文 Linux下C++访问Redis)
#wildcard把 指定目录 ./ 和 ../lib 下的所有后缀是cpp的文件全部展开。
SRCS = $(wildcard *.cpp)
#OBJS将$(SRCS)下的.cpp文件转化为.o文件
OBJS = $(SRCS:%.cpp =%.o)
#代表所使用的编译器
CC = g++
#头文件查找路径
INCLUDES = -I../redis-2.8.3/deps
#链接库查找地址
LIBS = -L../redis-2.8.3/deps/hiredis -lhiredis
#附加参数
CCFLAGS = -g -Wall -O0 -shared
#输出程序名称
OUTPUT = RedisTest
all:$(OUTPUT)
$(OUTPUT) : $(OBJS)
$(CC) $^ -o $@ $(INCLUDES) $(LIBS)
%.o : %.c
$(CC) -c $< $(CCFLAGS)
#清除中间文件及生成文件
clean:
rm -rf *.out *.o
.PHONY:clean
需要注意一点,makefile的格式要求缩进符必须是TAB缩进,如果出现以下类似报错,记得调整缩进符,切记!!!
missing separator.stop