ifndef DESTDIR
DESTDIR ?=/home/chen/work_chen/linux-3.5add_key
endif
CFLAGS =-Wall -O2
CC =arm-linux-gcc
INSTALL =install
#all .c file
SRC =$(wildcard *.c) //把当前目录下的所有。c文件存入到src里
OBJS =$(patsubst %.c, %.o, $(wildcard *.c))
TARGET =serial_rf
#$@ is target set(point $(TARGET) or %.o)
#$< is target set of depending (point %.c, separate by blank board )
$(TARGET):$(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
install: $(TARGET)
$(INSTALL) $^ $(DESTDIR)/usr/bin
clean distclean:
rm -rf *.o $(TARGET)
DESTDIR ?=/home/chen/work_chen/linux-3.5add_key
endif
CFLAGS =-Wall -O2
CC =arm-linux-gcc
INSTALL =install
#all .c file
SRC =$(wildcard *.c) //把当前目录下的所有。c文件存入到src里
OBJS =$(patsubst %.c, %.o, $(wildcard *.c))
TARGET =serial_rf
#$@ is target set(point $(TARGET) or %.o)
#$< is target set of depending (point %.c, separate by blank board )
$(TARGET):$(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
install: $(TARGET)
$(INSTALL) $^ $(DESTDIR)/usr/bin
clean distclean:
rm -rf *.o $(TARGET)
.PHONY: $(PHONY) install clean distclean
$@当前规则的目标文件
$<当前规则的第一个依赖文件,如果用%c,或%o,则$<代表依赖所有的.c,.o文件,以空格隔开
$^单签规则的所有依赖文件,以逗号分割
$?规则中日期新于目标文件的所有相关文件列表,逗号分割。
$(@D)目标文件的目录名部分
$(@F)目标文件的文件名部分
wildcard搜索当前目录下的文件名,展开成一列所有符合由其参数描述的文件名,文件间以空格间隔。
$(patsubst 要查找的子串,替换后的目标子串,源字符串)将源字符串(以空格隔开)中的所有要查找的子串替换成目标子串。
$(addprefix 前缀, 源字符串)函数把第二个参数列表的每一项前缀上第一个参数值。