Makefile - 自定义后缀

  • 简述

    Make可以自动创建ao文件,在对应的.c文件上使用cc -c。这些规则是内置的make, 你可以利用这个优势来缩短你的 Makefile。如果您仅在 Makefile 的依赖行中指明当前目标所依赖的 .h 文件,make就会知道对应的 .cfile 已经是必需的了。您不必包含编译器的命令。
    这进一步减少了 Makefile,如下所示 -
    
    OBJECTS = main.o hello.o factorial.o
    hello: $(OBJECTS)
       cc $(OBJECTS) -o hello
    hellp.o: functions.h
    main.o: functions.h 
    factorial.o: functions.h 
    
    Make使用名为.SUFFIXES的特殊目标来允许您定义自己的后缀。例如,请参阅下面给出的依赖行 -
    
    .SUFFIXES: .foo .bar
    
    它通知make你将使用这些特殊的后缀来制定你自己的规则。
    类似于如何make已经知道如何从.c文件制作.o文件,您可以通过以下方式定义规则 -
    
    .foo.bar:
       tr '[A-Z][a-z]' '[N-Z][A-M][n-z][a-m]' <
    
    
                                  
    lt; > $@
    .c.o:
       $(CC) $(CFLAGS) -c
    
    
                                  
    lt;
    
    第一条规则允许您从.foo文件创建.bar文件。它基本上打乱了文件。第二条规则是使用的默认规则make从.c文件创建.o文件。
上一节: Makefile - 规则
上一节
下一节: Makefile - 指令
下一节
查看笔记 分享笔记
var post_id = 22348 // 需要加载的js模块 var _my_modules = ['mycommon', 'single', 'fixed']; var templateURL = "https://www.cainiaoya.com/wp-content/themes/wiki"; var siteUrl = "https://www.cainiaoya.com/index.php"; var isHome = 0; var isSingle = 1; layui.config({ base: templateURL + '/js/' }).use(_my_modules); (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();