嵌入式Linux开发工具C语言 Makefile的编写
工程管理器make
1、什么是工程?----如何编写Makefile文件
多个源文件+其他文件(图片+头文件+脚本文件)
2、工程管理器的作用->自动编译
编译多个源文件------------gcc+所有源文件 -o 可执行文件
3、make的依赖Makefile文件
4、Makefile文件是一种脚本文件(批处理),存在相关语法;
5、Makefile语法
三要素:目标、依赖、命令
格式:
目标:依赖
tab 命令
目标:最终生成的文件
依赖:生成目标时所需要的文件
命令:生成目标时,需要执行的命令
执行顺序:
make:默认从第一个目标体执行
make+目标体:从对应的目标体执行
如果目标体后面依赖的文件是一个目标的话,先执行依赖对应的目标,再执行目标体的命令。
做法
新建一个make-test文件夹,在文件夹里写一个hello.c和makefile文件。
hello.c文件:
makefile文件:
此时输入命令make会生成一个hello可执行文件
PS:两种生成hello的方法
关于执行顺序
真目标都会生成对应的文件,伪目标只会执行对应的命令。
.PHONY是一个特殊工作目标(special target),它用来指定一个假想的工作目标,也就是说它后面的并不是一个实际文件,而且肯定要视为未更新(也就是说条件总是满足,需要处理)
编写makefile文件:其中clean是一个伪目标
make+目标:从对应目标开始执行
修改后示例:
使make的时候命令不回响,不显示的方式,就是在Makefile每条命令的前面加@。但是缺点是,不知道有没有编译好。
解决方式就是在命令的下面加@echo make done!命令,在完成以后,系统会显示make done!
嵌入式Linux开发工具C语言 Makefile的编写相关推荐
- 嵌入式 Linux 开发工具篇问题整理//C语言测试(杨辉三角、递归调用实现阶乘、计算器、统计字符串出现次数)//2018.07.12.//
嵌入式 Linux 开发工具篇问题整理 1. 嵌入式开发与传统开发的区别?(同类问题:单片机开发与嵌入式开发的区别) 是否有无操作系统: 2. 移植操作系统的好处有哪些 ...
- 【嵌入式】Linux开发工具make及makefile设计
make工具及makefile设计 make工具及makefile设计 Makefile 设计示例 Makefile 规则--构成 Makefile 变量(宏) Makefile 条件判断 Makef ...
- char* 赋值 const char* 释放_嵌入式Linux开发《C语言专题(十:彻底搞懂“关键字”const)》...
C语言中的关键字总共有32个:auto break case char const continue default do double else enum extern float for goto ...
- 【嵌入式】Linux开发工具arm-linux-gcc安装及使用
arm-linux-gcc 知识架构及层次 - 程序编译及调试 嵌入式交叉编译器安装配置 主机目标板开发模式 ARM微处理器/Linux系统下编译器 编译器下载及安装 arm-linux-gcc工具使 ...
- 零基础嵌入式Linux开发工程师培训
零基础嵌入式Linux开发工程师高端培训(ARM实战.系统移植.驱动开发.网络电子书开发) 适合人群:初级 课时数量:336课时 用到技术:ARM实战.系统移植.驱动开发 涉及项目:网络电子书开发.案 ...
- C语言到嵌入式Linux开发项目指导
C语言到嵌入式Linux开发项目指导 第一阶段C语言 1.常量与变量,数据类型,数据类型转换,数据输入与输出: 2.C语言运算符,C语言操作符,C语言表达式,表达式优先级: 3.C语言流程控制,分支, ...
- 【Linux】基础:Linux环境基础开发工具——make与Makefile
[Linux]题解:Linux环境基础开发工具--make与Makefile 摘要:Makefile是一个文件定义了一系列的规则来指定编译过程以及更复杂的功能操作,make是一个命令工具,是一个解ma ...
- 嵌入式开发linux工具,嵌入式Linux开发入门之MfgTool工具的使用
介绍嵌入式linux开发的环境搭建: 一.PC端环境搭建 2.Ubuntu装好后,在终端安装minicom工具,安装命令:sudo apt-get install minicom 注:该工具在后面烧录 ...
- 嵌入式Linux开发环境搭建-(4)安装交叉编译工具链
在ubuntu16.04.2中,安装交叉编译工具链 在ubuntu中进行嵌入式应用程序开发,安装交叉编译工具链是不可缺少的一个环节. PC操作系统:ubuntu16.04.2 LTS 开发板:天嵌科技 ...
- 嵌入式linux开发,交叉编译qt4.8.5报错:Makefile:1054: recipe for target ‘.moc/release-shared-emb-arm/moc_qabstract
一.问题描述. 嵌入式linux开发,交叉编译qt4.8.5,执行make时报错如下: ms@ubuntu:~/work/code/qt/opensource/qt-everywhere-openso ...
最新文章
- 电脑显示没有被指定在上运行_win10系统运行程序提示“dll没有被指定在windows上运行”的办法...
- sonarQube安装及本机扫描C#项目
- java有无参数求长方形的周长面积_用java面向对象思想编程求长方形的周长和面积...
- 基本数据类型和字符串类型的转换
- 一个Java快速排序实现的调试
- Java script生成apk_lua脚本实现自动生成APK包
- 机器学习:什么是欠拟合和过拟合
- 说说Asp.net 身份验证、授权
- i2c传输距离_使用 ToF 传感器进行距离测量和手势识别的基本原理
- 凸优化第九章无约束优化 9.1 无约束优化问题
- ISO50001认证辅导,ISO 50001的能源管理允许组织对自己内部的节能潜力进行系统开发
- 《电脑音乐制作实战指南:伴奏、录歌、MTV全攻略》——第1篇 获取伴奏篇 第1章 MIDI音乐伴奏的获取与制作 1.1 电脑MIDI音乐与设备的介绍...
- 简述三级管开关的导通条件
- Mac下/usr目录
- 为什么excel文件中的表不能删除?
- 高人、天才、牛逼…从柳传志到雷军、马云,几乎没人不服任正非!
- 客户端和服务器之间的信息结构,客户端与服务器之间的通信过程
- BSOJ 2923:藤原妹红 MST+树型DP
- PC端-中文转拼音后续问题
- docker制作镜像
热门文章
- C语言_写简易吃豆人小游戏
- js 的常用工具类库
- 猎人华为单机离线版(一键启动增强版+扩展工具箱2022) | 猎人维修大师免加密狗单机永久版 | 华为线刷工具(MRT HW Flash Tool) | 华为工具(MRT HW Tool_V3.3)
- html5 回合制网页游戏,盘点史上最流行的十款回合制网页游戏
- logistic回归分析优点_SPSS教程|二分类logistic回归及SPSS操作
- php laypage 开发demo,laypage+laytpl示例
- 高分辨率扫描出来的图片有摩尔纹_文档扫描仪选购指南:扫描仪哪个牌子比较好?...
- KVM 虚拟化技术(理论详解+实战)
- JAVA分布式架构设计实例
- Unity 5.x游戏开发指南笔记(一)