zoukankan      html  css  js  c++  java
  • MakeFile

    1.基本语法规则:

      目标:依赖文件

           [Tab]command

           或  目标:依赖文件; command

    2.伪目标

      .PHONY: 目标  

      特点:伪目标的特点为总是被执行,故其依赖的目标总不如改目标新

           应用:

      1.无依赖文件

      .PHONY:clean

      clean:

        commands

      没有依赖文件,文件"clean"始终是最新的,命令永远不会执行;为避免这个问题,可使用".PHONY"指明该目标。

           避免和同名文件冲突(防止存在和PHONY执行目标的名称相同的文件, 避免和文件名重名),显示指出文件为伪目标,make clean

      2.有依赖文件

           all: prog1 prog2 prog3

      .PHONY: all

      prog1: prog1.o utils1.o

        cc -o prog1.c utils1.c

      prog2: prog2.o utils2.o
        cc -o prog2.c utils2.c

      prog3: prog3.o utils3.o
        cc -o prog3.c utils3.c

      输入make后,生成所有的文件

    3.自动生成依赖性

      main.o:main.c (defs.h可省略)

        gcc -MM main.c

    4.忽略错误

      exec:

        -cd /home/zhangfan

        pwd

    5.变量

      objects = program.o foo.o utils.o

      program: $(objects)   会展开

           定义变量用“=”,导致下文中对变量的定义影响上文

            “:=” 使得前面的变量不能使用后面的变量

    6.通配符

      objects = $(wildcard *.o)     *为通配符

    7.define关键字

      define two-lines

      echo foo

      echo $(bar)

      endef

    8.override指示符

      变量为通过make命令行参数设置,则Makefile将忽略这个变量的赋值,若想在Makefile中设置这类参数的值则使用override

      override <variable> = <value>

      override <variable> := <value>

  • 相关阅读:
    javascript字符串加密解密函数
    javascript实现blob加密视频源地址
    HTML网页实现flv视频播放
    DELL r720远控装系统
    nginx笔记
    Centos7防火墙配置
    CentOS7.x搭建LNMP
    搭建可道云私人云盘系统
    网络设备巡检常用命令-摘自星球成员马磊分享
    部署Windows Server 2012的WSUS补丁服务器
  • 原文地址:https://www.cnblogs.com/chengxuyuandashu/p/3581914.html
Copyright © 2011-2022 走看看