• 03.makefile(上)


    ◊基本框架:

    a)         Makefile文件的命名

    b)         Makefile基本规则

    c)         Makefile自动化变量

    d)         Makefile编译多个可执行文件

    3.1 Makefile文件的命名:

         Makefile最好命名为Makefile,不然的话,敲入make命令的同时,得显示指定出makefile文件名,比如:make  -f  文件名

    3.2Makefile基本规则

      TARGET:DEPENDENCES

                  COMMAND

      1)  目标可以是伪目标,如clean,目的只是为了执行一些操作。

         设定伪目标的方法:   .PNONY: clean

      2)命令的起始字符必须为TAB字符

      3)基本原理:

          若依赖文件列表中的任一文件的时间戳比目标文件的时间戳更新的话,敲入make命令后,COMMAND就要执行,从而生成新的目标文件。

    3.3Makefile自动化变量

      3.3.1自动化变量

        $@: 规则的目标文件名

        $<:  规则的第一个依赖文件名

        $^:  规则的所有依赖文件列表

      3.3.2自定义变量(简单了解即可)

        自定义变量举例:CC  CFLAGS  all  BIN  OBJS  CXX  CPPFLAGS

        引用方法:$(BIN)

    3.4Makefile编译多个可执行文件

        对今后编写测试程序较有用;

        模式规则: %.o:%.c

    ♦一些细节知识:

        #:在Makefile中做注释用。

        @:在COMMAND前面加上@,可以使make命令的输出结果中不显示相应的COMMAND语句。

  • 相关阅读:
    右值和move 与 forward
    C++11的chrono库,实现毫秒微秒级定时
    HDOJ 1176 免费馅饼(完全背包)
    HDU 1069 Monkey and Banana
    杭电 1003 Max Sum (动态规划)
    UVA ~ 514 ~ Rails (栈)
    UVA 679
    UVA11988 Broken Keyboard (a.k.a. Beiju Text)【数组模拟链表】
    Codeforces 845 C Two TVs
    codeforces 845A Chess Tourney
  • 原文地址:https://www.cnblogs.com/zkw-2014/p/4417952.html
Copyright © 2020-2023  润新知