makefile如果没有符合的显式规则将会使用隐式规则

举例:

当前目录下有个Makefile和jello.c文件,其中有这样的规则jello.o:%.c %.h Makefile (静态模式规则),表明的含义为:要生成的jello.o目标依赖jello.h和Makefile

jello.o:%.c %.h Makefile 
  gcc -c $< -o $@

但是此Makefile所处目录下只有jello.c和Makefile,无jello.h,意味着并不满足定义的依赖关系,将不会执行gcc -c $< -o $@,因此make将会使jello.o这个目标使用隐式规则,将会执行以下命令: 

$(COMPILE.c) $(OUTPUT OPTION) $<

 

:在编译时给make传递参数-p即可输出COMPILE.c和OUTPUT OPTION指代的内容

  

 

posted @ 2019-04-01 14:21  Jello  阅读(362)  评论(0编辑  收藏  举报