---- 整理自狄泰软件唐佐林老师课程
文章目录
- 1. 需求
- 2. 一些工具
- 3. 编译规则的依赖
- 4. 实验
1. 需求
- 工程项目中不希望源码文件夹在编译时被改动(只读文件夹)
- 在编译时自动创建文件夹(build)用于存放编译结果
- 编译过程中能够自动搜索需要的文件
- makefile 易于扩展,能够复用于相同类型的项目
- 支持调试版本的编译选项

2. 一些工具
$(wildcard $(DIR)/_pattern):获取  
     
      
       
       
         ( 
        
       
         D 
        
       
         I 
        
       
         R 
        
       
         ) 
        
       
         文件夹中满 
        
        
        
          足 
         
        
          p 
         
        
       
         a 
        
       
         t 
        
       
         t 
        
       
         e 
        
       
         r 
        
       
         n 
        
       
         的文件 
        
       
         ‘ 
        
       
      
        (DIR) 文件夹中满足 _pattern 的文件 ` 
       
      
    (DIR)文件夹中满足pattern的文件‘(notdir _names):去除 _names 中每一个文件名的路径前缀 $(patsubst _pattern, replacement, _text)`:将 _text 中符合 _pattern 的部分替换为 replacecment
- 使用:
 自动获取源文件列表(函数调用):SRCS := $(wildcard src/*.c)
 根据源文件列表生成目标文件列表(变量值的替换):OBJS := $(SRCS:.c=.o)
 替换每一个目标文件的路径前缀(函数调用):OBJS := $(patsubst src/%, build/%, $(OBJS))
3. 编译规则的依赖

4. 实验

 



















