zoukankan      html  css  js  c++  java
  • makefile

    makefile 三要素:

            目标

            依赖

            规则命令

    写法:

    目标:依赖

      规则命令

    v1:

     缺点: 如果更改其中一个文件,所有源码都需要重新编译

    可以考虑编译过程分解,先生成.o文件,使用.o文件得到结果

    v2:

     这样做的话,如果改变main.c,只需重新编译main.c, add.c sub.c无需重新生成.o文件

    函数:wildcard 进行文件匹配

         patsubst 内容替换

    wildcard用法:

     

     patsubst用法:

     

    makefile的变量:

            1. $@ :目标

            2. $^ :全部依赖

            3. $< :第一个依赖 

            4. $? :第一个变化的依赖

    v3:

     注意: $@,$^这样的变量只能在规则中出现

    增加删除功能:

    v4:

     make clean

     若不想让命令出现在终端,前面加一个@

     前面加-号,表示如果此条语句报错,仍然执行后面语句

     .PHONY 表示clean是一个伪目标,即使当前目录下有clean这个文件,也不会把这个文件当成目标。防止歧义。

    若还想同时生成一个其他app

     简洁:make

    若makefile文件名为x, 则 make -f x

    若为makefile, 则直接 make 即可

  • 相关阅读:
    Windows多线程编程入门
    多字节字符与宽字符
    Linux静态库与动态库详解
    Linux下清理内存和Cache方法
    数据库设计范式
    mybatis面试问题
    Gson使用
    Linux 定时任务crontab使用
    Java-GC机制
    java内存模型
  • 原文地址:https://www.cnblogs.com/FEIIEF/p/12336733.html
Copyright © 2011-2022 走看看