makefile编写模板

makefile编写模板

在Linux上进行编译代码时,为了简化每次编译时手写g++命令,使用makefile文件进行编译减少工作量,这里记录一个简单的makefile模板,使用时直接简单替换一下路径和名称即可。

#编译工具
CC=g++ 
#编译选项
CFLAGES=-O2 -Wall -std=c++0x

 #头文件路径
INCLUDE_PATH=-I../include

#库文件路径
LIB_PATH=-L./ -l(动态库名称,需要手动替换或删除这段) -lrt -lpthread -ldl -lm 

#obj文件,遍历当前目录下所有cpp,生成.o
OBJ=$(patsubst %.cpp,%.o,$(wildcard *.cpp))
#obj文件,遍历当前目录下所有c,生成.o
OBJC=$(patsubst %.c,%.o,$(wildcard *.c))

#生成的二进制文件名称
Target := demo

# $@表示目标,这里是$(Target)
# $^表示代表所有的依赖对象,这里是$(OBJ) $(OBJC)
$(Target) : $(OBJ) $(OBJC)
	$(CC) -o $@ $^ $(CFLAGES) $(INCLUDE_PATH) $(LIB_PATH)

#OBJ生成规则
%.o : %.c
	$(CC) -c $(CFLAGES) $(INCLUDE_PATH) $< -o $@
%.o : %.cpp
	$(CC) -c $(CFLAGES) $(INCLUDE_PATH) $< -o $@

#make clean命令清除
.PHONY clean:
	rm -rf $(OBJ) $(OBJC) $(Target)

猜你喜欢

转载自blog.csdn.net/zuolj/article/details/124692472