1、隐含规则自动推导

make可以自动推导文件以及文件依赖关系后面的命令,于是我们就没必要去在每一个*.o文件后都写上类似的命令,因为,我们的 make 会自动推导依赖文件,并根据隐含规则自己推导命令。所以上面.o文件是由于make自动推导出的依赖文件以及命令来生成的。
下面来看看make是如何推导的。

make –p 
make -p | grep XXX # 了解XXX的规则

可以打印出很多默认变量和隐含规则。Makefile变量可以理解为C语言的宏,直接展开即可。

# default  
OUTPUT_OPTION = -o $@  
# default  
CC = cc  
# default  
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) –c  
# Implicit Rules  
%.o: %.c  
#  commands to execute (built-in):  
>---$(COMPILE.c) $(OUTPUT_OPTION) $<  

转载于链接描述1


shiyang6017
158 声望59 粉丝

引用和评论

0 条评论