学习笔记之Makefile
来源:互联网 发布:服装零售进销存软件 编辑:程序博客网 时间:2024/04/28 12:05
Makefile :项目管理工具
只将与修改的源文件相关的 文件进行编译,其他的进行连接。
stat test.c :可以查看一个文件的修改时间
touch test.c :更新文件的时间
make -p >file
vi file : Makefile 内建规则查看
#阶段三
makefile 变量声明,使用变量
obj = add.c sub.c mul.c dive.c main.c
app: $(obj)
gcc $(obj) -o app
$@表示目标,$^表示所以有的依赖, $< 表示依赖中的第一个
# 通用代码
src=$(wildcard *.c) //找到当前目录下所有 .c文件; $表示索引()里边的函数
obj=$(patsubst %.c,%.o,$(src));
target=app;
$(target):$(obj)
gcc $^ -o $@
目标:依赖
%.o :%.c
gcc -c $< -o $@
#clean 用来清除生成的中间文件和最终的目标文件
#伪文件clean,用来避免重名文件clean
# -rm 表示此条命令出错后继续执行后面的命令
# @ 表示不显示命令,只显示结果
.PHONY:clean
clean:
-rm -f *.o
-rm -f app
#阶段四
参考文件 GNU Makefile
CPPFLAGS= -Iinclude //include 是头文件目录,如果没有可以空着不写
CFLAGS= -g -Wall //编译时的命令
LDFLAGS= -L../lib - //共享库的路径,如果没有可以空着不写
CC=gcc //编译器
#CC=arm-linux-gcc //嵌入式
src=$(wildcard *.c) //找到当前目录下所有 .c文件; $表示索引()里边的函数
obj=$(patsubst %.c,%.o,$(src));
target=app;
$(target):$(obj)
$(CC) $^ $(LDFLAGS) -o $@
%.o :%.c
$(CC) -c $< $(CFLAGS) $(CPPFLAGS) -o $@
.PHONY:clean
clean:
-rm -f *.o
-rm -f app
#彻底清除生成过程文件和生成配置文件
distclean:
rm /usr/bin/app
install:
cp app /usr/bin
test:
@echo $(src)
make -C src //可以指定要进入的目录,然后调用目录里边的Makefile文件
0 0
- 学习笔记之Makefile
- 笔记:学习vc之makefile
- ESP8266学习笔记之makefile
- UNIX学习笔记----makefile之条件判断
- caffe 学习笔记之Makefile.config注释
- Makefile学习笔记
- makefile学习笔记
- makefile学习笔记(1)
- Makefile学习笔记
- MakeFile学习笔记一
- makefile学习笔记
- makefile学习笔记
- Makefile的学习笔记
- makefile学习笔记
- Makefile学习笔记
- Makefile学习笔记
- Makefile学习笔记
- makefile学习笔记
- 80老翁谈人生(332):CSDN违法删除博文,铁板钉钉,历史耻辱柱上榜
- iOS MJRefresh的简单实用场景
- 【二级C】一维数组习题
- 基于Keepalived+Haproxy搭建四层负载均衡器
- c# 试题(二)
- 学习笔记之Makefile
- Mysql安装注意问题
- bean的生命周期
- FloodFill(泛洪算法)
- java多线程2(线程的创建方式以及启动)
- SAPUI5 (12) - 对象显示组件
- 指针的各种应用(一)
- OC 创建枚举,创建单例,文本中划线(富文本)
- 欢迎使用CSDN-markdown编辑器