1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Makefile clean: ========================== 如果需要编译多个.s或.c文件,最好通过Makefile对文件的编译、安装、删除等进行管理。 最简单的makefile如下: $>vim Makefile hello:hello.c arm-linux-gcc -o hello hello.c clean: rm -f hello (1)基本格式 ------------------------- 目标(target) : 依赖(depedence) 命令(command) (2)通用的Makefile ------------------------- $>vim Makefile src := $(shell ls *.c) obj := $(patsubst %.c, %.o, $(src)) test: $(obj) arm-linux-ld -o $@ $^ %.o: %.c arm-linux-gcc -c -o $@ $< rm -f test $(elf) 上面的$@,$^以及$<为自动变量。 $@表示规则的目标文件名; $^表示所有依赖的名字,名字之间用空格隔开; $<表示第一个依赖的文件名 %为通配符,和一个字符串中任意个数的字符相匹配 (3)Makefile的例子 -------------------- 如果当前要编译一个c文件mov.c和一个汇编文件mov_asm.s,Makefile的内容如下: TARGET := mymov SRC_A := $(shell ls *.s) SRC_C := $(shell ls *.c) OBJ_A := $(patsubst %.s, %.o, $(SRC_A)) OBJ_C := $(patsubst %.c, %.o, $(SRC_C)) CROSS := arm-linux- CC := $(CROSS)gcc AS := $(CROSS)as CFLAGS += -march=armv7-a -static all: $(OBJ_A) $(OBJ_C) $(CC) $(CFLAGS) $^ -o $(TARGET) %.o:%.s $(AS) $< -o $@ %.o:%.c $(CC) -c $< -o $@ install: adb remount adb push $(TARGET) /system/bin/ clean: rm -f $(OBJ_A) $(OBJ_C) $(TARGET) 测试: $>make //生成elf格式的程序mymov $>make install //将该程序安装到开发板上 $>make clean |
|
|
|
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1152浏览 2评论
750浏览 1评论
503浏览 0评论
269浏览 0评论
433浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 03:22 , Processed in 1.253880 second(s), Total 78, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号