一、Makefile常用规则
1、显示规则:说明如何生成一个或多个目标文件。
foo.o :foo.c des.h //表示文件的依赖关系,foo.o依赖于foo.c和des.h
cc -c -g foo.c //记得加TAB键 生成foo.o文件
2、隐晦规则:make能自动推导,由依赖关系决定是否需要重新编译源文件
3、宏定义:
$z //单个字符
$(CFLAGS) //多个字符要用括号
4、文件指示 :可以引用其他Makefile文件;可以预编译指定有效部分,类似于#ifndef;可以定义多行的命令
5、注释:只有行注释,注释符 #
#Sample 简单示例
test: main.o test.o //顶级依赖关系
g++ $(CFLAGS) -o test main.o test.o
main.o: main.c test.hpp
gcc $(CFLAGS) -o main.c test.hpp
test.o: test.cpp test.hpp
g++ $(CFLAGS) -o test.cpp test.hpp
clean: rm -f *.o test//make clean 命令执行的操作
二、makefile的对应命令
make 编译所以目标文件
make clean 清除之前编译的所有文件
make distclean 清除 所有之前编译的文件以及makefile文件
make install 安装程序
make dist 将程序和相关文件包装成一个压缩文件以供发布