Makefile:
Makefile是make的一个配置文件,文本文件
make:
是一个智能化自动编译的工程管理工具。他可以决定在一个工程中哪些文件需要被编译,哪些文件不需要被编译。而且知道如何去编译他们。make 的正常工作是离不开Makefile。
Makefile(makefile)文件格式:
文件名:
Makefile or makefile
文件格式:
TARGET:PREREQUISITES
<tab键>command1
<tab键>command2
…
(1)TARGET :目标名
通常指的是一个要生成的文件名
(2)PREREQUISITES :赖文件列表
当需要生成某个TARGET时候,第一步看当前目录下是否有依赖文件,如果没有,就看你的Makefile中是否有以“依赖文件”为目标的,如果有就先生成依赖文件,如果有,就去生成目标
Makefile通用模板如下:
ARGET := main
CC := gcc
#CSRCS 保存的是工程中所有以.c为后缀名的文件名列表
CSRCS := $(wildcard *.c) #1.c 2.c 3.c 4.c 5.c
#OBJS保存的是工程中所有以.o为后缀名的文件名列表
OBJS := $(patsubst %.c,%.o,$(CSRCS)) #1.o 2.o 3.o 4.o 5.o
#LIBS 保存的是工程中所有需要用到的库及库的搜索路径
LIBS := -L ../lib -lxxx
#INCS 保存的是工程中所有需要用到的头文件的搜索路径
INCS := -I ../inc
$(TARGET):$(OBJS)
$(CC) $^ -o $(@) $(LIBS)
%.o:%.c
$(CC) -c $< -o $@ $(INCS) # gcc -c 1.c -o 1.o -I ../inc
clean:
rm -rf $(OBJS)
rm -rf $(TARGET)
关注博主不迷路,博主带你上高速!