Makefile简要介绍

来源:互联网 发布:服务器同步软件 v2ex 编辑:程序博客网 时间:2024/05/16 02:11

1 为什么需要Makefile

Makefile是用来管理工程的。

在一个正式的软件项目中,由很多个.c和.h文件构成,此时如果直接在命令行编译,就会像这样:gcc a.c b.c c.c d.c e.c f.c g.c -o exe 。 每次编译都要输入一堆东西很麻烦,这个问题严重影响工作效率,怎么办?Makefile来解决。

2 一个简单的Makefile示例

exe: a.c b.c    gcc a.c b.c -o execlean:    rm exe

3 Makefile中的一些基本概念

目标:目标定格写,后面是冒号(冒号后面是依赖)
依赖:依赖是用来产生目标的原材料。
命令:命令前面一定是Tab,不能是顶格,也不能说多个空格。命令就是要生成那个目标需要做的动作。

4 Makefile的基本工作原理

其一,当我们执行 make xx 的时候,Makefile会自动执行xx这个目标下面的命令语句。

其二,当我们make xx的时候,是否执行命令是取决于依赖的。依赖如果成立就会执行命令,否则不执行。

其三,我们直接执行make 和make 第一个目标 效果是一样的。(第一个目标其实就是默认目标)

5 ARM裸机中用到的Makefile介绍

led.bin: start.o     arm-linux-ld -Ttext 0x0 -o led.elf $^    arm-linux-objcopy -O binary led.elf led.bin    arm-linux-objdump -D led.elf > led_elf.dis    gcc mkv210_image.c -o mkx210    ./mkx210 led.bin 210.bin%.o : %.S    arm-linux-gcc -o $@ $< -c%.o : %.c    arm-linux-gcc -o $@ $< -c clean:    rm *.o *.elf *.bin *.dis mkx210 -f  
原创粉丝点击