开始编写Makefile(二)Makefile变量的使用
2024-08-28 18:17:38
- 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
第二:
$@ 表示当前目标文件
$^表示当前要目标要依赖的全部文件
- 常见的虚目标
主要说明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)
最新文章
- shell不能执行su 后的脚本
- request.getAttribute() 和 request.getParameter() 有何区别?
- MFC和GDI+一起使用
- 1017: [JSOI2008]魔兽地图DotR - BZOJ
- xslt语法之---基础语法
- 转载 C# 序列化与反序列化意义详解
- 懒与馋的平衡:餐饮O2O市场广阔,发展不易
- A Truthful (1-ɛ)-Optimal Mechanism for On-demand Cloud Resource Provisioning---INFOCOM 2015
- JavaWeb之Listener监听器
- 1013团队alpha冲刺日志集合帖
- 我与OO (1)
- luogu P3201 [HNOI2009]梦幻布丁
- Linux-lvm逻辑卷管理和提示丢失pv物理卷
- Huawei华为交换机 consolep密码和vty密码配置telnet,ssh
- 在“安装”阶段发生异常。 System.Security.SecurityException: 未找到源,但未能
- 09:Linux 中各个文件夹的作用
- ASP.net显示当前系统在线人数
- c语言学习——安装
- mysql测试数据创建
- less 全局变量使用