makefile通用模板

版权声明:本文为博主原创文章,如需转载请注明出处 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

猜你喜欢

转载自blog.csdn.net/bajianxiaofendui/article/details/87828507