zoukankan      html  css  js  c++  java
  • Makeflie学习笔记

    makefile基本格式

    TARGER... : DEPENDEDS...
        COMMAND
        ...
        ...
    

    TARGET:规则定义的目标。生成的目标文件的文件名或者是一个动作
    DEPENDEDS:执行此规则的必须依赖条件。可以是生成可执行文件的目标文件或者某个TARGER
    COMMAND:规则动作,编译文件、生成库文件、进入目录等,可以是多个,每个一行,每行以Tab开始

    makefile变量

    makefile预定义变量

    • AR:生成静态库文件,默认值:ar
    • AS:汇编编译器,默认值:as
    • CC:C语言编译器,默认值:cc
    • CPP:C语言编译器,默认值:$(CC) -E
    • CXX:C++编译器,默认值:g++
    • FC:Fortran语言编译器,默认值:f77
    • RM:删除文件程序,默认值:rm -f
    • ARFLAGS:生成静态库库文件程序选项,无默认值
    • ASFLAGS:汇编语言编译器编译选项,无默认值
    • CFLAGS:C语言编译器编译选项,无默认值
    • CPPFLAGS:C语言预编译器编译选项,无默认值
    • CXXFLAGS:C++编译器编译选项,无默认值
    • FFLAGS:Fortran语言编译器编译选项,无默认值

    makefile自动变量

    • $*:目标文件文件名,不包含扩展名
    • $+:所有依赖文件,依赖文件以空格分隔,以出现先后为顺序,可重复
    • $<:依赖项中第一个依赖文件的名称
    • $?:依赖项中所有目标文件时间戳晚的依赖文件
    • $@:目标项中目标文件的名称
    • $^:依赖项中所有不重复的依赖文件

    用户自定义变量

    用户可以定义自己的变量,调用用户自定义变量时,在前面加$,并将变量名称用括号括起来。

    搜索路径

    VPATH变量指定需要搜索的目录,make就会自动找到指定文件目录,自动添加到文件上

    自动推导规则

    使用make编译扩展名为.c的C语言文件时,源文件的编译规则不用明确给出。make会按照默认的编译规则完成编译并生成对应的.o文件。

  • 相关阅读:
    Focal loss and weighted loss学习记录
    学习记录之Focal loss
    caffe学习记录(八) shufflenet学习记录
    caffe学习记录(七) Windows下基于Inter训练的核心加速技术,MKL
    caffe学习记录(六) MobileNet fine tune
    caffe学习记录(五) SSD训练+SSDpelee测试
    caffe学习记录(四) solver
    caffe学习记录(三) Blob,layer Net, solver配置文件的编写
    caffe学习记录(二)
    HTML meta viewport属性说明
  • 原文地址:https://www.cnblogs.com/hztd/p/11445608.html
Copyright © 2011-2022 走看看