1. Makefile可以使用变量代替

命令行:make -f Makefile2 说明开始make一个名为Makefile2的文件

###############定义变量##################
CC:=gcc
CFLAGS:=-Iinclude
CFLAGS+= -c
TARGET:=bin/mymath_test
DEPEND:=obj/mymath.o
DEPEND+=obj/mymath_test.o $(TARGET):$(DEPEND)
$(CC) -o $@ $^
obj/mymath.o:src/mymath.c
$(CC) -o $@ $(CFLAGS) $^
obj/mymath_test.o:src/mymath_test.c
$(CC) -o $@ $(CFLAGS) $^
clean:
rm -rf $(TARGET) $(DEPEND)
cd ..

  其中下面 目标:=依赖列表 都是变量定义

CC:=gcc
CFLAGS:=-Iinclude
CFLAGS+= -c
TARGET:=bin/mymath_test
DEPEND:=obj/mymath.o
DEPEND+=obj/mymath_test.o

第二:

$@ 表示当前目标文件

$^表示当前要目标要依赖的全部文件

  1. 常见的虚目标

主要说明clearn这个虚目标

make -f Makefile2 clean 表示清除刚才make编译好的文件;就是说删除刚才编译好的可执行文件和目标.o的文件

clean:
rm -rf $(TARGET) $(DEPEND)
cd ..
daokr@ubuntu:/mnt/hgfs/mystudy/clession10$ make -f Makefile2
gcc -o obj/mymath.o -Iinclude -c src/mymath.c
gcc -o obj/mymath_test.o -Iinclude -c src/mymath_test.c
gcc -o bin/mymath_test obj/mymath.o obj/mymath_test.o
daokr@ubuntu:/mnt/hgfs/mystudy/clession10$ make -f Makefile2 clean
rm -fr bin/mymath_test obj/mymath.o obj/mymath_test.o

  

###############定义变量##################
CC:=gcc
CFLAGS:=-Iinclude
CFLAGS+= -c
TARGET:=bin/mymath_test
DEPEND:=obj/mymath.o
DEPEND+=obj/mymath_test.o $(TARGET):$(DEPEND)#开始执行
$(CC) -o $@ $^
obj/mymath.o:src/mymath.c
$(CC) -o $@ $(CFLAGS) $^
obj/mymath_test.o:src/mymath_test.c
$(CC) -o $@ $(CFLAGS) $^
.PHONY:clean#指定clean是虚目标
clean:
rm -fr $(TARGET) $(DEPEND)

  

最新文章

  1. shell不能执行su 后的脚本
  2. request.getAttribute() 和 request.getParameter() 有何区别?
  3. MFC和GDI+一起使用
  4. 1017: [JSOI2008]魔兽地图DotR - BZOJ
  5. xslt语法之---基础语法
  6. 转载 C# 序列化与反序列化意义详解
  7. 懒与馋的平衡:餐饮O2O市场广阔,发展不易
  8. A Truthful (1-ɛ)-Optimal Mechanism for On-demand Cloud Resource Provisioning---INFOCOM 2015
  9. JavaWeb之Listener监听器
  10. 1013团队alpha冲刺日志集合帖
  11. 我与OO (1)
  12. luogu P3201 [HNOI2009]梦幻布丁
  13. Linux-lvm逻辑卷管理和提示丢失pv物理卷
  14. Huawei华为交换机 consolep密码和vty密码配置telnet,ssh
  15. 在“安装”阶段发生异常。 System.Security.SecurityException: 未找到源,但未能
  16. 09:Linux 中各个文件夹的作用
  17. ASP.net显示当前系统在线人数
  18. c语言学习——安装
  19. mysql测试数据创建
  20. less 全局变量使用

热门文章

  1. int and Integer
  2. Thread 与 ThreadLocal
  3. 全栈项目|小书架|服务器开发-NodeJS 使用 JWT 实现登录认证
  4. Lua for - ipairs,pairs,# 遍历的运行时间
  5. JavaScript之条件语句
  6. BBPlus团队ALPFA冲刺(肖文恒)
  7. MySQL Binlog--PURGE MASTER LOGS失败
  8. python(函数调用)
  9. 通过扩展redis-cli来实现在redis集群中移动槽位
  10. c# 格式化数据String.Format