栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【Linux】makefile

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Linux】makefile

【Linux】makefile VERSION1

目标 :依赖

规则 命令

  1 #              VERSION1                                                            
  2 #-----------------------------------------------------
  3 #app: main.c add.c sub.c div.c mul.c
  4 #   gcc -o app -I ../include/ main.c add.c sub.c div.c mul.c


VERSION2
  8 #             VERSTON2
  9 #get all  .c files  makefile默认处理第一个目标 wildcard通配符   
 10 SrcFiles=$(wildcard *.c)
 11 #all.c files -> .ofiles
 12 objFiles=$(patsubst %.c,%.o,$(SrcFiles))
 13 
 14 all:app
 15 #//目标文件用法$(var) $@代表目标 $^ 全部依赖 $<第一个依赖 $?第一个变化的依赖
 16 app:$(objFiles)
 17     gcc -o $@  -I ../include/ $(objFiles)
 18 
 19 
 20 %.o:%.c
 21     gcc -c $< -I ../include/ -o $@
 22 #模式匹配规则 $@,$<只能在makefile 中使用 ,-o $@可不加(明确指定生成xx.o文件,-c 也生成.o文件)
 23 #依赖 规则可以不写  echo 显示该条指令 ( make test测试)
 24 test:
 25     @echo $(SrcFiles)
 26     @echo $(objFiles)
 27 
 28 #定义伪目标,防止有歧义(clean all伪目标只出现在makefile中)
 29 .PHONY:clean all
 30 
 31 #清理 .o和目标文件 前面加@ 不显示该条命令 前面加- 如果该条指令报错继续执行
 32 clean:
 33     -@rm -f *.o 
 34     -@rm -f app 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/733510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号