zoukankan      html  css  js  c++  java
  • Makefile 规则的使用

    1.Makefile格式

    //最终目标

    all: led.o //依赖

    arm-linux-ld -Tled.lds -o led.elf led.o //命令

    arm-linux-objcopy -O binary led.elf led.bin //命令

    //目标

    led.o : led.S//依赖

    arm-linux-gcc -g -o led.o -c led.S //命令

    .PHONY: clean

    //伪目标--无依赖

    clean:

    rm *.o led.elf led.bin //命令

    2.Makefile 变量

    使用变量前:
    app1 : app1 .o func1 .o func2.o
    gcc app1 .o func1 .o func2.o - o app1
    app2: app2.o func1 .o func2.o
    gcc app2.o func1 .o func2.o - o app2
    obj=func1 .o func2.o
    app1 : app1 .o $(obj)
    gcc app1 .o $(obj) - o app1
    app2: app2.o $(obj)
    gcc app2.o $(obj) - o app2

    3.makefile规则

    makefile中,用 除了 可以自 己定义变量外, 还可以使用
    存在系统已经定义好的默认变量。
    v $^ 代表所有的依赖文件
    v $@ 代表目标
    v $< 代表第一个依赖文件
    使用前:
    led.o : led.S
    arm- linux- gcc -g o led.o - c led.S
    使用后:
    led.o : led.S
    arm- linux- gcc -g o $@ - c $^

    4.%表示任意的名字--通用规则

    all:led.bin
    led.bin: led.o
        arm-linux-ld -Tled.lds -o led.elf led.o
        arm-linux-objcopy -O binary led.elf led.bin

    %.o : %.S
        arm-linux-gcc -g -o $@ $< -c

    .PHONY: clean
    clean:
        rm *.o led.elf led.bin led.dis

    5.Makefile回显

    Makefile#字符后的内 容被视作注释。
    hello: hello.c
    @gcc hello. c o hello
    @:取消回显 演示)

    6.文件名

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

  • 相关阅读:
    linux C gcc -lm
    ubuntu 工作区中拖动一个窗体到另一个工作区就卡住回不到桌面了
    ArrayList调用remove方法需要注意的地方
    关于Java中File的renameTo函数
    Java管道流
    NPOI Excel 单元格背景颜色对照表
    Java 简单图片截取
    maven pom.xml 配置 cxf-codegen-plugin 生成web服务客户类型
    ZeroClipboard 简单应用
    PromiseJs
  • 原文地址:https://www.cnblogs.com/wxb20/p/6236324.html
Copyright © 2011-2022 走看看