makefile模板

文件名 makefile或者Makefile
makefile中的第一条是主线,其余的规则都是为了第一条服务
语法格式:
目标文件:依赖文件
命令
命令前需要tab缩进

#main: main.cpp http_conn.cpp thread_pool.cpp sync.cpp
#	g++ $^ -lpthread -o $@

src = $(wildcard ./*.cpp) # 获取当前目录下所有.cpp文件
objs = $(patsubst %.cpp, %.o, $(src)) # 字符串替换,将.cpp替换为.o,%表示任意字符串
target = main

$(target): $(objs)
	$(CXX) $^ -lpthread -o $@ 
# $(CXX) 代表g++
# $^ 表示所有的依赖文件
# $@ 表示要生产的目标

#%.o:%.cpp
#	$(CXX) -c $< -o $@

sync.o: sync.cpp
#$<表示第一个依赖
	$(CXX) -c $< -lpthread -o $@
main.o: main.cpp
	$(CXX) -c $< -o $@
http_conn.o: http_conn.cpp
	$(CXX) -c $< -o $@

.PHONY:clean  # clean不是一个要生成的文件,假目标
clean:
	rm *.o -f
posted @   ecnu_lxz  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示