Makefile基础

Posted wanghao-boke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Makefile基础相关的知识,希望对你有一定的参考价值。

命令方式:

       makefile 或 Makefile

makefile规则:

       目标,依赖,命令

       目标:依赖条件

              命令

版本1:

app : main.o add.o sub.o mul.o
    gcc main.o add.o sub.o

技术图片

版本2:

app:main.o add.o sub.o mul.o
    gcc main.o add.o sub.o mul.o -o app
main.o : main.c
    gcc -c main.c
add.o : add.c
    gcc -c main.c
sub.o : sub.c
    gcc -c sub.c
mul.o : mul.c
    gcc -c mul.c

技术图片

makefile工作原理:

技术图片

版本3:

obj=main.o add.o sub.o mul.o
target=app
$(target):$(obj)
    gcc $(obj) -o $(target)
%.o:%.c
    gcc -c $< -o $@

 

makefile中自动变量

$<:规则中的第一个目标

$@:规则中的目标

$:规则中所有的依赖

只能在规则的命令中使用

 

Makefile维护的一些变量:

CC:默认值 cc

CPPFLAGS:预处理器需要的选项,如-I

CFLAGS:编译的时候使用的参数 -Wall -g -c

LDFLAGS:链接库使用的选项 -L -l

 

版本4:

obj=main.o add.o sub.o mul.o
target=app
CC = gcc
CPPFLAGS = -I
$(target):$(obj)
    $(CC) $(obj) -o $(target)
%.o:%.c
    $(CC)-c $< -o $@

 

以上是关于Makefile基础的主要内容,如果未能解决你的问题,请参考以下文章

Makefile基础

Linux开发基础知识Makefile语法

Makefile常用基础知识梳理!

Linux开发基础知识Makefile语法

Makefile基础

Makefile基础