Makefile中的一个有关问题

Makefile中的一个问题

XML code


%.d: %.c
    @set -e; rm -f $@; \
         $(CC) -M $(CPPFLAGS) $< >; $@.$$$$; \
         sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ >; $@; \
         rm -f $@.$$$$

请大家帮忙解读一下sed那行,谢谢!


$(CC) -M 生成的dep文件有如下的格式。
假设源文件为hello.c

C/C++ code

hello.o: hello.c
hello.o: /usr/include/stdio.h


$* 不包含扩展名的目标文件名称。
查查makefile就知道了


sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ >; $@; \
把$@.$$$$中$*.o[:]*全局替换成 1.o,

Makefile中的一个有关问题

相关文章:

你感兴趣的文章:

标签云: