满意答案
卷毛guo
2013.08.05
采纳率:41% 等级:12
已帮助:12310人
先说明下”all:“和”clean:“。这两个语句类似于:if (arg=="all") then.... 和 if (arg=="clean") then...
也就是说,如果你执行make all,all后面的语句就会被执行。
如果make clean,clean后面的语句就会被执行。
另外,all和clean后面的语句应该都是要缩进的。
EXEC = hello // 生成的可执行文件名为hello
OBJS = hello.o // 编译产生的中间文件名为hello.o
CROSS= iwmmxt_le- //设置iwmmxt_Ie-为交叉编译环境
CC = $(CROSS)gcc // 编译器是gcc
STRIP= $(CROSS)strip // 设置优化器(用来删除debug信息)
CFLAGS = -Wall -g -O2 // 设置编译选项
all: clean $(EXEC) // 如果是make all,先掉用下clean后面的指令,再执行自己下面的指令
$(EXEC):$(OBJS) // 创建依赖关系。这里表示hello依赖于hello.o。也就是说,先产生hello.o再产生hello
$(CC) $(CFLAGS) -o $@ $(OBJS) // 编译
$(STRIP) $@ // 删除debug信息
clean: // make clean就会来这里
-rm -f $(EXEC) *.o // 删除产生的中间文件
00分享举报