zoukankan      html  css  js  c++  java
  • makefile 中的符号替换($@、$^、$<、$?)

    Makefile  $@, $^, $< 
    $@  表示目标文件
    $^  表示所有的依赖文件
    $<  表示第一个依赖文件
    $?  表示比目标还要新的依赖文件列表


    如一个目录下有如下文件:

    $ ls
    hello.c  hi.c  main.c  Makefile

    按照 Makefile 的一般写法:

    main: main.o hello.o hi.o
            gcc -o main main.o hello.o hi.o

    main.o: main.c
            cc -c main.c

    hello.o: hello.c
            cc -c hello.c

    hi.o: hi.c
            cc -c hi.c

    clean:
            rm *.o
            rm main

    改为用上述符号进行替代:

    main: main.o hello.o hi.o
            gcc -o $@ $^
    main.o: main.c
            cc -c $<
    hello.o: hello.c
            cc -c $<
    hi.o: hi.c
            cc -c $<
    clean:
            rm *.o
            rm main
    beyes@debian:~/makefile_test/semicolon/real$ make
    cc -c main.c
    cc -c hello.c
    cc -c hi.c
    gcc -o main main.o hello.o hi.o
    beyes@debian:~/makefile_test/semicolon/real$ ls
    hello.c  hello.o  hi.c  hi.o  main  main.c  main.o  Makefile
  • 相关阅读:
    Redis 客户端连接
    Redis 性能测试
    Redis 安全
    Redis 数据备份与恢复
    Redis 数据类型
    Redis 配置
    Redis 安装
    Redis 简介
    Redis教程
    如何修改Oracle Enterprise Linux时区?
  • 原文地址:https://www.cnblogs.com/chybot/p/5474438.html
Copyright © 2011-2022 走看看