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>

  • 相关阅读:
    (转)C3P0连接池配置和实现详解
    (转)jquery插件Validate的使用
    二叉树和翻转二叉树
    利用@media screen实现网页布局的自适应
    (转)防止SQL注入的五种方法
    java代码规范
    Java泛型-类型擦除
    js中的isNaN()
    (转)sublime 一些常用功能和快捷键
    (转)java中不常见的关键字:strictfp,transient
  • 原文地址:https://www.cnblogs.com/chengxuyuandashu/p/3581914.html
Copyright © 2011-2022 走看看