zoukankan      html  css  js  c++  java
  • makefile工程管理

    make能够使整个软件工程编译、链接只需要一个命令就可以完成。

    make在执行时,需要一个命名为Makefile的文件。Makefile文件描述了整个工程的编译,连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译;需要创建哪些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。

    Makefile术语

    规则:用于说明如何生成一个或多个目标文件,规则格式如下:

    targets :prerequisites
        command
    
    目标:依赖 
        命令
    
    main.o:main.c
        gcc -c main.c
    

    命令需要以『TAB』键开始

    文件名

    make命令默认在当前目录下录找名字为makefile或者Makefile的工程文件,当名字不为这两者之一时,可以使用如下方法指定:

    make -f 文件名
    

    伪目标

    Makefile中把那些没有任何依赖只有执行动作的目标称为“伪目标”(phony targets)。

    .PHONY:clean
    clean:
        rm -f hello main.o func1.o func2.o
    

    “.PHONY”将“clean”目标声明为伪目标

    变量

    hello:main.o func1.o func2.o
        gcc main.o func1.o func2.o -o hello
    

    相当于

    obj=main.o func1.o func2.o
    hello:$(obj)
        gcc $(obj) -o hello
    

    在makefile中,存在系统默认的自动化变量

    • $^ : 代表所有的依赖文件

    • $@ : 代表目标

    • $< : 代表第一个依赖文件

    注释

    Makefile中“#”字符后的内容被视作注释

    @ : 取消回显,在命令前使用“@”符,取消屏幕回显。

  • 相关阅读:
    2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】
    JDBC连接MySQL数据库
    MySQL实习训练1
    I Hate It
    Just a Hook
    Mayor's posters
    asd的甩锅计划
    程序员的恋情
    Radical and array
    Highways
  • 原文地址:https://www.cnblogs.com/dddlion/p/3259280.html
Copyright © 2011-2022 走看看