博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Makefile规则(依赖文件、传递参数)
阅读量:4047 次
发布时间:2019-05-25

本文共 745 字,大约阅读时间需要 2 分钟。

Makefile的原则是倒序着写, 如test.c 编到test.bin:

test.bin(目标) : test(依赖)

arm-eabi-objcopy -O binary test test.bin //这里写有依赖文件后怎样生成目标文件

test : test.o

arm-eabi-ld test.o -o test

test.o : test.c

arm-eabi-gcc test.c -c -o test.o // test.c 生成test.o


makefile执行时可以指定目标: make 目标 //不指定目标则执行第一个目标

makefile里的执行语句前加"@",表示此语句的信息不输出

.PHONY : 目标 //可避免目标名与文件名同名时的冲突

如:
6 .PHONY : clean hello
7 clean:
8 @echo “clean”
9
10 hello:
11 @echo “hello world”


$< 表示第一个依赖文件

$^ 表示所有依赖文件
$@ 表示目标

$(CURDIR) //获取当前目录的路径

目标 : 另一目标 //makefile里的目标可以依赖另一个目标

CFILES := ${wildcard .c} //获取当前目录下的.c文件

OBJS := ${patsubst %.c, %.o, $(CFILES)} //把*.c的文件名替换成*.o

make TARGET=hello //执行makefile时,改变里面变量TARGET的值


makefile里给子目录的makefile传递参数:

export CROSS_COMPILE := arm-eabi-
export TOPDIR := $(CURDIR)

转载地址:http://uzuci.baihongyu.com/

你可能感兴趣的文章
MongoDB数据库插入、更新和删除操作详解
查看>>
MongoDB文档(Document)全局唯一ID的设计思路
查看>>
mongoDB简介
查看>>
Redis持久化存储(AOF与RDB两种模式)
查看>>
memcached工作原理与优化建议
查看>>
Redis与Memcached的区别
查看>>
redis sharding方案
查看>>
程序员最核心的竞争力是什么?
查看>>
Node.js机制及原理理解初步
查看>>
linux CPU个数查看
查看>>
分布式应用开发相关的面试题收集
查看>>
简单理解Socket及TCP/IP、Http、Socket的区别
查看>>
利用HTTP Cache来优化网站
查看>>
利用负载均衡优化和加速HTTP应用
查看>>
消息队列设计精要
查看>>
分布式缓存负载均衡负载均衡的缓存处理:虚拟节点对一致性hash的改进
查看>>
分布式存储系统设计(1)—— 系统架构
查看>>
MySQL数据库的高可用方案总结
查看>>
常用排序算法总结(一) 比较算法总结
查看>>
剖析 Linux hypervisor
查看>>