Linux---Makefile的使用
Makefile的用途:在对项目中多个.c文件进行快速编译
1.一个规则,2个函数,3个自动变量
2.Makefile编写规则
编译test.c
目标文件:依赖文件
终极目标:终极依赖 链接
第一目标:第一依赖 汇编
(一个tab键)脚本命令
test:test.o
(一个tab键)gcc test.o -o test
test.o:test.c
(一个tab键)gcc -c test.c -o test.o
3. 两个函数
Src = $(wildcard *.c)
找到当前目录下所有后缀为.c的文件赋值给src
Obj = $(patsubst %.c,%.o,$(src))
把src变量里所有后缀为.c的文件替换成.o
4. 3个自动化变量
$@ 规则中的目标
$< 规则命令中,表示第一个依赖条件
$^ 规则命令中,表示所有的依赖条件
5.模式规则
%.o : %.c
(一个tab键)gcc -c $^ -o $@
模板一
Src= $(wildcard *.c)
Obj =$(patsubst %.c,%,$(src))
CC = gcc
All : $(obj)
% :%.c
(一个tab键)$(CC) $^ -o $@
Clean:
(一个tab键)-rm -rf $(obj)
.PHONY:clean All
模板二
TARGET = main
SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c,%.o,$(SRCS))
CC = gcc
$(TARGET):$(OBJS)
(一个tab键)$(CC) $(^) -o $(@)
%.o:%.c
(一个tab键)$(CC) -c $(^) -o $(@)
clean:
(一个tab键)rm $(OBJS) $(TARGET)