zoukankan      html  css  js  c++  java
  • Makefile编写基础知识总结

    1.变量定义

    变量名 = 赋值
    
    CFLAGS = -Wall -O –g      //这是配置编译器设置,并把它赋值给CFFLAGS变量。
    
       -Wall:          输出所有的警告信息。
    
       -O:              在编译时进行优化。
    
       -g:               表示编译debug版本。

    2.变量引用

    $(变量名)
    $(CFLAGS)

    3.函数

    函数1:wildcard
    产生一个所有以 '.c'结尾的文件的列表。
    SOURCES = $(wildcard *.c *.cpp) //表示产生一个所有以 .c,.cpp结尾的文件的列表,然后存入变量 SOURCES 里。
    
    
    
    
    函数2:patsubst
    匹配替换,有三个参数。第一个是一个需要匹配的式样,第二个表示用什么来替换它,第三个是一个需要被处理的由空格分隔的列表。
    OBJS = $(patsubst %.c,%.o,$(patsubst %.cc,%.o,$(SOURCES)))  //表示把文件列表中所有的.c,.cpp字符变成.o,形成一个新的文件列表,然后存入OBJS变量中。
    
    %.o: %.c
          $(CC) $(CFLAGS) -c $< -o $@
    %.o:%.cpp
          $(XX) $(CFLAGS) -c $< -o $@
    这几句命令表示把所有的.c,.cpp编译成.o文件。
    这里有三个比较有用的内部变量:
    $@ 扩展成当前规则的目的文件名, 
    $< 扩展成依靠       列表中的第一个依靠文件,
    $^ 扩展成整个依靠的列表(除掉了里面所有重 复的文件名)。


    chmod a
    +x $(TARGET)表示把helloworld强制变成可执行文件。
  • 相关阅读:
    审核系统
    ehcache 缓存
    tomcat 内存设置
    html5 开发 跨平台 桌面应用
    service thread 结合使用
    html5桌面应用
    鼠标 事件
    服务器 判断 客户端 文件下载
    使用github管理Eclipse分布式项目开发
    uub代码
  • 原文地址:https://www.cnblogs.com/davidzhou11225/p/2458953.html
Copyright © 2011-2022 走看看