1 - 终极makefile编写

  • 格式:

    • 目标:依赖
    • Tab键 规则命令
  • makefile或者Makefile都可以
  • makefile中使用函数
    • wildcard匹配
    • patsubst替换
  • makefile中的变量,注意:这些变量只能在规则命令中使用
    • $@目标
    • $<第一个匹配的依赖
    • $^所有的依赖
    • $?第一个变化的依赖
  • .PHONY防止目标有歧义
  • all伪目标
  • clean目标中的一些特殊符号的命令
    • @表示不输出命令
    • -表示该条命令出错仍然执行后面的命令
srcfiles=$(wildcard *.c)objfiles=$(patsubst %.c, %.o, $(srcfiles))all:app app1app:$(objfiles)gcc -o $@ $(objfiles)
app1:$(objfiles)gcc -o $@ $(objfiles)# $<, $@ can only use in the rule order
# $< is the first dependent
# $@ is the target file
%.o:%.cgcc -c $< -o $@ -I include# The second target, use it in make target
test:-@echo $(srcfiles)-@echo $(objfiles)# @ is don't show the order
# - is if the order is not correct, the behind order can exec
clean:-@rm -rf *.o-@rm -rf app app1.PHONY: clean all

c语言中的makefile编写步骤详解相关推荐

  1. C语言中for循环的使用详解及注意点

    C语言中for循环的使用详解及注意点 1.for语句的格式 2.for语句循环示例 3.注意 4.与while语句的比较 5.典型例题 1.for语句的格式 for(表达式1;表达式2;表达式3){循 ...

  2. c语言memcopy_C语言中memcpy 函数的用法详解

    C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...

  3. c语言指定变量地址,C语言中 “_at()” 特殊地址定位详解

    C语言中 "_at()" 特殊地址定位详解 在keil里面,有一个特殊地址定位的指令,就是将一个变量或常量定位到一个指定的地址上面 指令为 __at ,使用方法如下 int var ...

  4. sizeof 在C语言的作用,C语言中的sizeof的用法详解

    C语言中的sizeof的用法详解 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操 ...

  5. C语言中的sscanf()函数使用详解

    这篇文章主要介绍了C语言中的sscanf()函数使用详解,文中附加了一道相关的ACM题目进行补充巩固,需要的朋友可以参考下 文章引用自:https://www.jb51.net/article/711 ...

  6. C语言中fscanf的作用,C语言中fgets和fscanf区别详解

    搜索热词 C语言中fgets和fscanf区别详解 一.作用上的大概区别: ①fgets:从文件中读取一行数据存入缓冲区(fgets遇到回车才会结束,不对空格和回车做任何转换就录入到缓冲区,结束后再往 ...

  7. c语言putchar与getchar,C语言中的getchar和putchar详解

    首先给出<The_C_Programming_Language>这本书中的例子: #include int main() { int c; c = getchar(); while (c  ...

  8. c语言status和void,C语言中的void和void *详解

    1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧. ...

  9. Linux. C语言中else,if else用法详解,C语言if else用法完全攻略

    if else 语句是一种选择结构,可以让代码选择执行.所谓选择执行,就是"某些代码可能执行,也可能不执行,有选择地执行某些代码". if 的最简单用法 if最简单的格式是: if ...

  10. C语言中static关键字的作用详解,全网最透彻

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有 ...

最新文章

  1. 不可错过的2019秋招CV岗心得!原来拿offer也是有套路的
  2. 070103_条件概率与贝叶斯公式,独立性
  3. 雪碧图工具sprity(20151201更新修复了同时合并多张图的bug)
  4. java 外来类,外来的Matplotlib图(tkinter中的情节)
  5. ios调用restful接口_做iOS上最好的REST API测试App
  6. python统计图像直方图_计算机视觉7-像素点直方图统计、掩膜图像
  7. python集合数据结构_Python数据结构-集合
  8. python-循环的入门
  9. 用c语言开发图形界面,「分享」C语言如何编写图形界面
  10. C语言练习题 时钟指针
  11. mschart 控件
  12. 基于Python的人脸识别
  13. 组件上传之AspUpload使用方法
  14. Postman连接失败 解决方法
  15. [笔记] Golang小试实现神经网络框架
  16. 工业计算机控制系统的分类,工业自动化系统组成和产品分类介绍
  17. 燃起图与燃尽图,故事地图和产品线路图分析
  18. win10怎么给多个桌面屏幕设置不同壁纸
  19. CDH 6.3.2 安装(一)
  20. win7 连接 PPPOE

热门文章

  1. python广州地图_广东省客户数量地图展示,如何通过python实现?
  2. h5微信游戏服务器,H5游戏微信大型帮派战源码分享 带服务器端+客户端
  3. 林轩田机器学习基石笔记(第16节)——概率论与机器学习建立连接
  4. 免费的中文语音数据集汇总列表
  5. 树莓派智能小车c语言代码,树莓派智能小车开发详解
  6. 原生Ajax详细获取数据
  7. 三体第一部(13到22节)
  8. js生成二维码并下载、批量生成二维码和压缩下载
  9. docker视频教程 假装听听 应该还行
  10. 做微信小程序商城需要什么材料?