Linux 的程序员必须掌握 Makefile工程项目管理器
概述
规则、目标文件和依赖文件
示例
伪目标
变量
预定义变量
自动变量
使用了变量的 Makefile 示例
通配符和模式匹配
内置函数
循环
指定makefile名字的make操作
两种十分通用的 Makefile 演示
第一种: 同时编译多个目标文件,并分别生成多个可执行程序
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)