一、line1的源码

  • line1.h
#ifndef _LINE_1_H
#define _LINE_1_H void line1_print(const char *strMsg);
#endif
  • line1.cpp
#include "line1.h"
#include <stdio.h>
void line1_print(const char *strMsg)
{printf("This is line1 print %s.\r\n",strMsg);
}

二、line2的源码

  • line2.h
#ifndef _LINE_2_H
#define _LINE_2_H void line2_print(const char *strMsg);
#endif
  • line2.cpp
#include "line2.h"
#include <stdio.h>
void line2_print(const char *strMsg)
{printf("This is line2 print %s.\r\n",strMsg);
}

三、main的源码

  • main.cpp
#include "line1.h"
#include "line2.h"int main(int argc,char **argv)
{line1_print("hello runfarther");line2_print("hello runfarther");return 0;
}

Makefile一般的格式是:

target:components rule

二、$@、$^、$<

这三个分别表示:

  • $@          --代表目标文件(target)
  • $^            --代表所有的依赖文件(components)
  • $<           --代表第一个依赖文件(components中最左边的那个)。

简化的Makefile文件为:

main.out:main.o line1.o line2.og++ -o $@ $^
main.o:main.c line1.h line2.hg++ -c $<
line1.o:line1.c line1.hg++ -c $<
line2.o:line2.c line2.hg++ -c $<
  • Makefile的编写

Makefile (二)相关推荐

  1. 每天一篇Makefile(二)

    好,废话不多说,进入正题,来看我们今天的要讲的Makefile: lcd.bin: start.o main.o led.o clock.o uart.o lib.o lcd.oarm-linux-l ...

  2. Linux实验---多文件编程Makefile实验二

    多文件编程Makefile实验指导书 一 实验题目: 二 实验目的 三 实验内容 四 实验步骤 五 实验结果 六.总结 一 实验题目: 多文件编程Makefile 二 实验目的 (1) 熟悉Linux ...

  3. Configure,Makefile.am, Makefile.in, Makefile文件之间关系

    为什么80%的码农都做不了架构师?>>>    1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configu ...

  4. Makefile文件的编写规则

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 Makefile文件编写规则 文章目录: 1 makefile文件介绍 2 makefile文件编写 1 makefile文件介绍 makefile是 ...

  5. 【转载】跟我一起写 Makefile(一)

    本文转载自:https://blog.csdn.net/haoel/article/details/2886 工欲善其事,必先利其器. 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 活动 ...

  6. Makefile中的$$

    1 $$的用处 在uboot/kernel的顶层Makefile中我们可以看到,当执行make时同时传入多个目标是这样处理的: __build_one_by_one:$(Q)set -e; \for ...

  7. linux 编译指cpu内核,linux内核编译与配置

    linux是如何组成的? 答:linux是由用户空间和内核空间组成的 为什么要划分用户空间和内核空间? 答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的 安全性,比 ...

  8. OpenCV学习笔记(六)—— OpenCV for Android打开相机

    在之前的篇章中,我们完成了Android平台开发环境的配置,也找到了剔除OpenCV Manager API的办法,那么接下来我们开始从零开始,完成一个个人的程序,实现功能如下: 1.识别指定的图片, ...

  9. openwrt 下编译ipk

    openwrt插件都是以.ipk方式发布的,ipk可以直接通过opkg安装到系统.上文我们编译了简单的hello,本文探究hello.ipk的编译过程. 一. 环境准备 cd ~/openwrt/bi ...

  10. T2080 U-BOOT与OS内核移植 u-boot移植篇(一)——创建新目标板的u-boot工程

    T2080 U-BOOT与OS内核移植 u-boot移植篇(一)--创建新目标板的u-boot工程 一.创建新目标板文件夹并修改相应文件 1.创建新目标板文件夹 2.修改t2080tpm文件夹中的相应 ...

最新文章

  1. 一种巧妙的drawable.xml替代方案
  2. shell   脚本之 continue 与break的用法
  3. YOLOv1 《You Only Look Once》论文笔记
  4. laravel框架应用和composer扩展包开发
  5. 一张图看懂Bean的实例化过程
  6. mysql数据库全备_MySQL innobackupex全备是指什么
  7. td 首行缩进_工作中常用的CSS整理
  8. cigarettes(香烟)
  9. 《模式识别》自学笔记——(三)统计决策
  10. 程序员职场突破——建立优势策略,找到职业突破发力点
  11. 基于微信公众号测试号进行微信授权登陆
  12. 机器学习实战K-近邻算法
  13. 好玩的ios APP动动手指,轻松挣美金~~
  14. SwiftUI 7GUIs编程基准之 05 CRUD 增删改查 掌握分离域和表示逻辑,管理变异,构建非平凡的布局。(教程含源码)
  15. 解决Upload to dev failed. Could not resolve file “sftp://xxx.xxx.xxx.xxx:22/“. (Request failed)
  16. PDF提取页面方法,如何从PDF文件中提取页面
  17. atoi atol实现
  18. [附源码]计算机毕业设计校园运动会管理系统Springboot程序
  19. 成功解决numpy.ndarray size changed
  20. Python学习基础方便查询

热门文章

  1. 分割范围Codeforces Round #181 (Div. 2)
  2. asp.net 时间显示格式
  3. mysql 笔记打包下载_mysql 5.7压缩包安装笔记
  4. python 怎么算l2范数_数学推导+纯Python实现机器学习算法13:Lasso回归
  5. jquery ajax下拉联动,基于jQuery Ajax实现下拉框无刷新联动
  6. 单路电压表c语言编程,用AT89C51单片机制作的数字电压表
  7. python数据挖掘与机器学习实战_Python数据挖掘与机器学习技术入门实战(1)
  8. go语言 expected ; found a
  9. HDU嵌入式实验课程大作业分析报告
  10. 【视觉项目】【day6】8.26关于matchTemplate()以及NCC的思考整理