zoukankan      html  css  js  c++  java
  • Makefile的简单例子

    1.生成test可执行文件,源文件有prog.c prog.h cord.h

    test:prog.o code.o

           gcc -o test prog.o code.o

    prog.o:prog.c prog.h code.h

              gcc -c prog.c -o prog.o

    code.o:code.c code.h

              gcc -c code.c -o code.o

    clean:

            rm -f *.o

    #最后是删除所有的.o文件

    执行:$make target 或者 make test

    2.带变量的makefile

    OBJS=prog.o code.o

    CC=gcc

    test:${ OBJS }

           ${CC} -o test ${OBJS}

    prog.o: prog.c prog.h code.h

            ${CC} -c prog.c -o prog.o

    code.o:code.c code.h

            &{CC} -c code.c -o code.o

    clean:

          rm -f *.o

    makefile中还可以使用环境变量,同名变量会覆盖其环境变量

    此外还有预定义变量和自动变量

    预定义变量  
    $@     当前目标文件的名字,如应用于创建库文件时,其值为库文件名
    $? 比当前目标文件新的依赖文件列表
    $< 比当前文件新的第一个依赖文件
    $^ 用空格隔开的所有依赖文件

    则以上例子可以简化为

    OBJS=prog.o code.o

    CC=gcc

    test:${OBJS}

           ${CC} -o $@ S^

    prog.o:prog.c prog.h code.h

    code.o:code.c code.h

    clean:

       rm -f *.o

  • 相关阅读:
    串行与并行
    并发性和并行性
    循环移位操作
    关于指针
    各种编程语言的特点
    什么是面向过程,什么是面向对象?
    数组指针/指针数组的示例
    数组指针/指针数组
    操作系统判断
    springMVC---简介
  • 原文地址:https://www.cnblogs.com/fengyuehan/p/linux.html
Copyright © 2011-2022 走看看