# ----------------------------------------------------------------------------
#
# Copyright 2010 FriendlyARM ()
#
ifndef DESTDIR
DESTDIR ?= /tmp/FriendlyARM/mini6410/rootfs
endif
CFLAGS = -Wall -O2 --->指令变量定义
CC = arm-linux-gcc --->编译器变量定义
INSTALL = install --->指令变量定义
TARGET = tty_receive --->目标变量定义
all: $(TARGET) //all 是伪目标,其依赖于TARGET目标
tty_receive: tty_receive.c
$(CC) $(CFLAGS) $< -o $@ ---> 自动化变量$<表示依赖目标集,此处为tty_receive.c
依赖目标中的第一个目标名字。如果依赖目标是以模式(即"%")
定义的,那么"$<"将是符合模式的一系列的文件集。
注意,其是一个一个取出来的。
---> 自动化变量$@表示目标集,此处为tty_receive.o
install: $(TARGET)
$(INSTALL) $^ $(DESTDIR)/usr/bin -->$^所有的依赖目标的集合
clean distclean: //伪目标 clean distclean 是多目标
rm -rf *.o $(TARGET) -->make distclean类似make clean,但同时也将configure生成的
文件全部删除掉,包括Makefile。
# ----------------------------------------------------------------------------
.PHONY: $(PHONY) install clean distclean -->这样执行"clean"会无视"clean"文件存在与否。
# End of file
# vim: syntax=make
其中还有很多不明了的地方,希望大家能给出建议
阅读(974) | 评论(0) | 转发(0) |