Linux 的程序员必须掌握 Makefile工程项目管理器
概述

规则、目标文件和依赖文件

示例

伪目标

变量


预定义变量


自动变量

使用了变量的 Makefile 示例

通配符和模式匹配

内置函数

循环

指定makefile名字的make操作

两种十分通用的 Makefile 演示
第一种: 同时编译多个目标文件,并分别生成多个可执行程序
1 CC := gcc
2 SRCS := $(wildcard *.c)
3 BINS := $(SRCS:%.c=%)
4 all: $(BINS)
5 %: %.c
6 $(CC) $< -o $@
7 .PHONY:clean
8 clean:
9 rm $(BINS)
10
~
第二种: 同时编译多个目标文件,生成一个可执行程序
2 srcfiles := $(wildcard *.c)
3 OBJS:=$(patsubst %.c, %.o,$(srcfiles))
4 CC:=gcc
5 $(out):$(OBJS)
6 $(CC) $^ -o $@
7 %.o:%.c # 在依赖文件中找到后缀为.o 的文件,之后根据.o 文件的文件名找同名的.c文件 。使用*c,会在当前目录进行匹配
8 $(CC) -c $^ -o $@
9 .PHONY:clean rebuild
10 rebuild: clean main
11 clean:
12 rm -rf *.o $(out)
本文详细介绍了Linux程序员必备的Makefile知识,包括规则、目标与依赖、伪目标、变量用法、通配符模式匹配、内置函数、循环以及如何指定makefile。通过实例展示了如何编译多个目标文件生成多个或一个可执行程序。
2229

被折叠的 条评论
为什么被折叠?



