当前位置首页 > Linux知识

LinuxC编程之六makefile项目管理

阅读次数:219 次  来源:admin  发布时间:

一、整体大纲

LinuxC编程之六makefile项目管理

二、makefile的编写

一个规则   两个函数  三个变量

1. 一个规则

三要素:目标, 依赖, 命令

目标:依赖

命令:

第一条规则是用来生成终极目标的规则

a. 如果规则中的依赖不存在, 向下寻找其他的规则

. 更新机制:比较的是目标文件和依赖文件的时间

2. 两个函数

1) 查找指定目录下, 指定类型的文件

rc=$(wildcard ~/aa/*.c)

2)匹配替换函数

obj=$(patsubst %.c, %.o, $(src))

3. 三个自动变量

1)$<:规则中的第一个依赖

2) $^:规则中的所有依赖

3)$@:规则中的目标

只能在规则中的命令中使用

4. 模式规则

%.o:%.c

gcc -c $< -o $@

LinuxC编程之六makefile项目管理

子目标和终极目标的关系:

更新目标的原则:

LinuxC编程之六makefile项目管理

LinuxC编程之六makefile项目管理

三、makefile中变量的使用

makefile编写示例:

LinuxC编程之六makefile项目管理

app:main.o sub.o mul.o
  gcc main.o sub.o mul.o -o app
  gcc $^ -o $@
        
%.o:%.c 
  gcc -c $< -o $@

makefile中的自动变量:

$<: 规则中的第一个依赖 $@: 规则中的目标 $^: 规则中的所有依赖

只能在规则的命令中使用

LinuxC编程之六makefile项目管理

上一篇:edislinux基本命令
下一篇:获取IP-linux(经典-实用)