makefile文件:linux上的工程管理工具
工程中的源文件很多,可以根据其模块、功能等存储在不同的目录中,makefile可以提高其编译效率
makefile文件——工程管理文件与make命令配合使用
makefile文件中主要编写程序编译规则,由make命令来解释
makefile文件,按照规定的规则来编译整个工程
makefile可以提高编译效率,使用make命令每次只会编译那些修改了的或者依赖修改了的文件,没有修改的文件不会重新编译。
main: my_add.o my_sub.o my_mux.o my_div.o main.o
gcc -o main my_add.o my_sub.o my_mux.o my_div.o main.o
my_add.o :my_add.c
gcc -c my_add.c
my_sub.o: my_sub.c
gcc -c my_sub.c
..........................
...........................
main.o:main.c
gcc -c main.c
clean: rm * .o main
使用变量记录所有文件
file = my_add.o my_sub.o my_mux.o my_div.o main.o
使用环境变量——指定搜索路径
VPATH = 路径 (多个路径之间用 : 分隔)
隐式推导
my_add.o my_sub.o my_mux.o my_div.o main.o
VPATH = . : ./ Math
main : $(file)
gcc -o main $(file)
my_add.o
my_sub.o
my_mux.o
my_div.o
main.o
clean:
rm * .o main
最终优化
file = my_add.o my_sub.o my_mux.o my_div.o main.o
VPATH = . : ./ Math
cc = gcc
main : $(file)
$(file)
clean:
rm * .o main