一份Makefile的详解
来源:互联网 发布:内存条js 编辑:程序博客网 时间:2024/05/22 13:16
指定编译器为arm-linux-gcc,链接器为arm-linux-ld,用arm-linux-objcopy 来将ELF格式的可执行文件转换为二进制文件.
CC = arm-linux-gcc
LD = arm-linux-ld
OBJCOPY = arm-linux-objcopy
OBJDUMP = arm-linux-objdump
指定库文件,”-l” 用来链接放在/lib和/usr/lib和/usr/local/lib里的库,”-L” 用来链接放置在其他位置的库
LIB :=-lgcc -lgcc_eh -L/usr/local/arm/lib/gcc/arm-none-linux-gnueabi/4.5.1
指定头文件位置
INCLUDEDIR := $(shell pwd)/include/
C语言编译选项: -nostdinc 不要在标准系统目录中寻找头文件.只搜索`-I’选项指定的目录(以及当前目录,如果合适).
CPPFLAGS := -nostdinc -nostdlib -I$(INCLUDEDIR)
C语言编译选项,不使用C语言内建函数、显示全部警告、优化等级为0
CFLAGS := -fno-builtin -Wall -O0
用export声明这些变量使得他们可以被子目录的Makefile使用
export CC LD OBJCOPY CPPFLAGS CFLAGS
对象文件
OBJS := cpu/start.o cpu/main.o lib/uart.o lib/libc.a
目标:依赖文件列表
all:start.bin clean
start.bin:(OBJS)
#设置代码段的起始地址为0x40000000 链接生成start.elf文件,(LD) -Ttext=0x40000000
#将start.elf文件反汇编成start.dis
$(OBJDUMP) -D start.elf > start.dis
%.o:%.S
clean:
-C 选项的作用是指将当前工作目录转移到你所指定的位置(即cpu),即执行cpu目录下的Makefile中的clean
make clean -C cpu
阅读全文
0 0
- 一份Makefile的详解
- Makefile的编写详解
- linux 下Makefile的详解
- makefile详解 make 的运行
- “万能makefile”写法详解,一步一步写一个实用的Makefile
- Makefile详解
- makefile详解
- Makefile详解
- Makefile详解
- Makefile详解
- Makefile详解
- Makefile详解
- makefile详解
- Makefile详解
- Makefile详解
- Makefile详解
- Makefile详解
- makefile 详解
- 欢迎使用CSDN-markdown编辑器
- php实现网站生成桌面快捷方式
- 输入输出
- Spark Streaming实现实时WordCount,DStream的使用,updateStateByKey(func)实现累计计算单词出现频率
- iOS SDK 瘦身技巧
- 一份Makefile的详解
- == 与 equals
- ifstream打印汉字乱码问题 UTF-8转GB2312
- C++动态内存管理
- 基于 Laradock 创建 Laravel 项目实例
- TensorFlow打印tensor值
- ARM汇编基础知识学习1(ARMV7 32位)
- Rxjava2中Concat操作符onNext,OnError,OnComplte的执行顺序
- Maven学习总结(41)——Maven依赖范围、传递、排除详解